lostyazilim

Geç açılma sorunu Bakabilir misiniz?

9 Mesajlar 955 Okunma
lstbozum
wmaraci reklam

sadoado sadoado Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 07.08.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek profesyonel
  • Konum İzmir
  • Ad Soyad S** C**
  • Mesajlar 37
  • Beğeniler 11 / 4
  • Ticaret 5, (%100)
Merhabalar,
http://programinndir.net/indir/ultrasurf

sitemizde indir butonuna basınca :

http://www.programinndir.net/indir.php?id=2035
bu adresi girmesi uzun sürüyor. o adreste php dosyasının içinde "http://programinndir.net/indirmebaslat/" sayfasının çağırıp, yazılarıda databaseden çekiyor bazılarını.

ancak neden yavaş açılıyor onu anlayamadım yardımlarınız için şimdiden teşekkürler.
 

 

wmaraci
reklam

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
GET http://www.programinndir.net/indir.php [HTTP/1.1 200 OK 13241 ms

indir.php dosyanızdaki kod'un içeriği görmek gerek. Muhtemel kötü bir geliştirme yapılmış. Çünkü 2035'nolu id'yi db'ye sorgu atıp, dönmesi çok uzun sürüyor.

Diğer birşey ise database optimizasyonu iyi değildir. İlgili tabloda veri sayısı fazla ise ve tablo üzerindeki işlemler anlık olarak yoğunsa, kolay kolay tepki vermez.

Tavsiyem cache teknolojilerini kullanınız ve db'deki verileri cache üzerinden okutunuz. Hem db'ye gitmemiş olursunuz hemde hızlı bir dönüş alırsınız.
sadoado

kişi bu mesajı beğendi.

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

sadoado sadoado Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 07.08.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek profesyonel
  • Konum İzmir
  • Ad Soyad S** C**
  • Mesajlar 37
  • Beğeniler 11 / 4
  • Ticaret 5, (%100)

Turgay Can adlı üyeden alıntı

GET http://www.programinndir.net/indir.php [HTTP/1.1 200 OK 13241 ms

indir.php dosyanızdaki kod'un içeriği görmek gerek. Muhtemel kötü bir geliştirme yapılmış. Çünkü 2035'nolu id'yi db'ye sorgu atıp, dönmesi çok uzun sürüyor.

Diğer birşey ise database optimizasyonu iyi değildir. İlgili tabloda veri sayısı fazla ise ve tablo üzerindeki işlemler anlık olarak yoğunsa, kolay kolay tepki vermez.

Tavsiyem cache teknolojilerini kullanınız ve db'deki verileri cache üzerinden okutunuz. Hem db'ye gitmemiş olursunuz hemde hızlı bir dönüş alırsınız.


Öncelikle cevabın için teşekkür ederim.
indir.php içindekiler:
edit..

Evet kodda db den programın ismini çekiyorum, (o sayfa baya karışık oldu, yerler boşluklar vs. gereksiz çok şey var gibi :)) o sorun yaratıyor olabilir? nasıl çözüm yapabiliriz?
 

 

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
file_get_contentsi bu metod belirtilen klasör altındaki tüm dosyaları geziyor ve sizin db'dne çektiğiniz dosyayı bulup, geri dönüyor.

Aslında sorun bu metodda, çünkü sizin klasör altında 10000 dosyanız varsa teker teker hepsini kontrol ediyor. Bunun yerine direkt olarak şöyle bir şey yazın.

DB'den gelen değeri path'e ekleyip, dosya varmı yokmu kontrolü yapın.

Mesela ;

DB'den gelen deger. "abc.exe" programı.

Şeklinde bir değere atayın. $dosyaismi = "http://programinndir.net/indirmebaslat/abc.exe"

Sonra

bool file_exists ( string $dosyaismi )

buradan dönen değer true ise dosya vardır false ise dosya yoktur ;)

Muhtemelen oldukça hızlı olacaktır.

Eski yöntemler devam ederseniz arşivinizdeki program sayısı arttıkça dahada ağırlaşacaktır ;)

Kaynak : http://tr1.php.net/file_exists
sadoado

kişi bu mesajı beğendi.

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)
wmaraci
wmaraci

sadoado sadoado Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 07.08.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek profesyonel
  • Konum İzmir
  • Ad Soyad S** C**
  • Mesajlar 37
  • Beğeniler 11 / 4
  • Ticaret 5, (%100)

Turgay Can adlı üyeden alıntı

file_get_contentsi bu metod belirtilen klasör altındaki tüm dosyaları geziyor ve sizin db'dne çektiğiniz dosyayı bulup, geri dönüyor.

Aslında sorun bu metodda, çünkü sizin klasör altında 10000 dosyanız varsa teker teker hepsini kontrol ediyor. Bunun yerine direkt olarak şöyle bir şey yazın.

DB'den gelen değeri path'e ekleyip, dosya varmı yokmu kontrolü yapın.

Mesela ;

DB'den gelen deger. "abc.exe" programı.

Şeklinde bir değere atayın. $dosyaismi = "http://programinndir.net/indirmebaslat/abc.exe"

Sonra

bool file_exists ( string $dosyaismi )

buradan dönen değer true ise dosya vardır false ise dosya yoktur ;)

Muhtemelen oldukça hızlı olacaktır.

Eski yöntemler devam ederseniz arşivinizdeki program sayısı arttıkça dahada ağırlaşacaktır ;)

Kaynak : http://tr1.php.net/file_exists


hocam açıkçası benim php bilgim fazla yok zaten o php sayfasınında da fark etmişsiniz ordan burdan öğrenerek yaptım. tam olarak ne yapmam gerek eğer müsaitseniz indir.php yi düzenleyip gönderebilirmisiniz burdan?
 

 

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
php uzmanı değilim lakin, kodu incelediğimde aşağıdaki kod bloğunun download ile ilgili pek bi işe yaramadığını gördüm. Emin olmamakla birlikte, aşağıdaki kod bloğunu silermisin.

$site = file_get_contents("http://programinndir.net/indirmebaslat/");
echo $site;
sadoado

kişi bu mesajı beğendi.

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

sadoado sadoado Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 07.08.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek profesyonel
  • Konum İzmir
  • Ad Soyad S** C**
  • Mesajlar 37
  • Beğeniler 11 / 4
  • Ticaret 5, (%100)
hocam o kod, http://programinndir.net/indirmebaslat/ sayfasını açıyor, arka plan olmuş oluyor orası. üstünede ultrasurf indiriliyor... gibi yazılarıda indir.php den yazdırıyorum. o şekilde,
 

 

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
O sayfayı açtırmak uzun sürüyor. Kullanılan kod ; file_get_contents yaptığı iş indirmebaslat klasörünün altındaki dosyaları taramak. Bu klasörün altında dosyalar/programlar mevcut değilmi, benmi yanlış anladım?
 

 

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

sadoado sadoado Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 07.08.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek profesyonel
  • Konum İzmir
  • Ad Soyad S** C**
  • Mesajlar 37
  • Beğeniler 11 / 4
  • Ticaret 5, (%100)

Turgay Can adlı üyeden alıntı

O sayfayı açtırmak uzun sürüyor. Kullanılan kod ; file_get_contents yaptığı iş indirmebaslat klasörünün altındaki dosyaları taramak. Bu klasörün altında dosyalar/programlar mevcut değilmi, benmi yanlış anladım?


hayır indirmebaslat sitede sadece bir sayfa:
http://programinndir.net/indirmebaslat/
yani iletisim sayfası gibi:
http://programinndir.net/iletisim/

ben indir.php de bu sayfayı açtırıp, daha sonra db de bulunan konunun ismini bak' a eşitleyip onu yazdırıyor. yani indir butonuna basınca programın id sini alıyor:2435 gibi sonra onun db de kayıtlı olduğu titleyi alıp açmış olduğumuz sayfaya yazdırıyorum.
 

 

wmaraci
Konuyu toplam 2 kişi okuyor. (0 kullanıcı ve 2 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al