• 22-11-2010, 17:35:43
    #1
    Selamlar

    Resimleri direkt adreslerinden göstermek haliyle en performanslısı. Peki

                
    header('Content-type: image/jpg'); 
    include ('/images/ali.jpg");
    exit;
    şeklinde PHP içinden çağırıp göstersek sizce çok performans sorunu çıkar mı ?
  • 22-11-2010, 18:23:14
    #2
    Hit? Tabikide fark war yalnız ne kadar kişinin kullandığı önemlidir. Şuan sen kaşığı alıyorsun ama kaşık ile aranda bir kişi var. Direk sen uzanıp alman ile yanındakinin alıp sana uzatması arasındaki fark gibi. Ayrıca böyle farkları en iyi tespit etmenin yolu bir sayfa yüklenme fonksiyonu yazıp 2 türlü deneyip aradaki farka gözatmak.
  • 22-11-2010, 18:50:07
    #3
    Söylediğiniz gibi denemedim ama farkettim PHP ile en çok 44 KB olan image dosyalarını kullanabildim. Vazgeçtim htaccess arayışındayım
  • 22-11-2010, 19:10:30
    #4
    zee adlı üyeden alıntı: mesajı görüntüle
    Söylediğiniz gibi denemedim ama farkettim PHP ile en çok 44 KB olan image dosyalarını kullanabildim. Vazgeçtim htaccess arayışındayım
    Resim yüklenene kadar php'yi meşgul edersin.
    Yani php dosyayı sunduğu süre boyunca hafızasına bir resmi alır orada tutar ve aktarır. Sayfa sonlanana (resim aktarımı bitene) kadar image php'nin içinde bellek işgal eder.
    Normalde sen resim çağırdığında sen apacheye gidersin, apache dosya sistemine gider, resmi alır, sana gönderir.
    Senin işleminde, sen resmi çağırırsın, apache php ye gider, php dosya sistemine gider, dosya sisteminde aldığını apacheye çıktı verir, apache dosyayı sana verir.

    Ortalama 100kb resimler olsa. Bir resmin ortalama aktarım süresi 3 saniye sürse. Bu 3 saniye boyunca istek sayısı x 100kb php belleği dolu olur. Eğer çok performanslı bir işlem olsaydı herkes böyle yapardı zaten.
    Php satır yorumlar. 100kb kodu çok düşük bir zamanda okur yorumlar çıktı üretir. Ama aldığı resmi okuyup yorumlamaz. Alır belleğe, karşıdaki bilgisayar tamam resmi aldım diyene kadar php için ayrılan bellekte tutar sayfa çalışır. Yüksek hitlerde elbette performans sorunu yaratır.