php ile site performansı yapılırmı?
17
●1.508
- 02-06-2010, 16:48:05Bence asıl olay GZip, basit bir php sayfayı gzip yapınca kafadan hızlanıyor bir kere.
Duruma göre içeriği düzenli yada kısıtlı göstermede işe yarar mesela;
galeri.php içinde 50 tane küçük resim gelse 50 sinin yüklenmesi sayfayı yavaşlatabilirken,
galeri.php?sayfa=2 tarzı bir ilave ekleyerek 25 e 25 bir bölümleme yapılabilir.
Mesela WordPress Smf gibi yazılımların bazı temalarında gereksiz php fonksiyonlar olabilir, 2 kere login bölümü fonksiyon olarak çağrılabilir, ana sayfa için önemli olmayan bir kısım ana sayfada gösterilmesi bunun için zaman ve CPU harcanması negatif performans etkisi olarak düşünülebilir.
Ama bence ilk önce Google Page Speed özelliği ile başlanmalı. Orada ilk ne düzeltilecek bize bildiriyor. - 02-06-2010, 21:11:34mysql_fetch_assoc daha fazla mı harcar? array her değeri hem ismi hem de sıra numarasıyla iki farklı şekilde kaydediyorken, assoc niye daha fazla yer harcıyor?by_grafitus adlı üyeden alıntı: mesajı görüntüle
MySQL'de ne var ki hocam? Wordpress, SMF gibi birçok kişinin adını bildiği sistemler bile MySQL kullanıyorken...BHCoder adlı üyeden alıntı: mesajı görüntüle - 02-06-2010, 21:19:06Üyeliği durduruldutam tersini yazmak istemişsindir eminim array daha fazla yer tutuyor assoc ile row un toplamı kadarby_grafitus adlı üyeden alıntı: mesajı görüntüle
sql verilerini serialize-unserialize veya json_encode - decode ile saklayıp dat tipli dosyalardan belli periyotlarla okuyarak önbellek alanında saklayıp buradan okuyarak epey bir optimize sağlayabilirsiniz ama dat dosyalarının boyutunu azaltmaya çalışın daha sonra bunlar ram ve sunucuda fazla yer tutabilir olabilidiğince az veri saklayın
örneğin : veritabanında hem resim adresini hem seo adını saklamayarak bu işi yapabilirsiniz SeoAdi diye bir sutununz olur resim adreslierini resimler/SeoAdi.uzanti gibi gibi saklayabilirsiniz sadece uzantisi saklamak veya hepsini belli bir format ta tutmak bile hem mysql veritabanından hem cache yapcaksanız o dosyada bellek ve alandan tasarruf etmenizi sağlar. - 03-06-2010, 07:51:37Üyeliği durdurulduwordpress smf performanslı sistemlermi. ve nereye kadar performanslılar. mysql performansına bağlı performansları vardır.Hkan adlı üyeden alıntı: mesajı görüntüle
dünya çapında bilinen birşey zaten bu mysql orta seviye sistemlerde kullanılır.
mysql düşmanı değilim ama gerçekler var
bir postgresql bir oracle denemeni tavsiye ederim. tabi 10 kayıtlı/hitli siteniz yoksa
global düşünürsek olay bu. tabi bunlar kapsamlı konular tek cümle ile bitirilemez.
kısaca her zaman söylediğimiz.
num rows ile saydırma yapmayın COUNT kulllanın
fetch array yerine fetch assoc kullanın
veritabanında işlem yaparken tüm alanlar(*) seçmeyin,
temiz kod yazın. gelişmeleri takip edin.
echo "<table witdh=\"455\">"; böyle kod yazmayın.
vs vs vs - 03-06-2010, 08:17:55Üyeliği durduruldukendiniz kurmadiginiz surece internet ortaminda oracle bulmaniz zor. birde internette kullanmaya kalktiginiz zaman lisansi bir hayli kalınBHCoder adlı üyeden alıntı: mesajı görüntüle

postgresql denemenizi bende tavsiye ederim - 03-06-2010, 18:50:21diyorsun ama bunların kodlama düzeneğini bir kontrol et'kiAlıntı
benim smf forumumda 800 k konu actık
smf konu acmadan önce mütiş performans vardı 800 k konu acıldıkdan sonra forumun acılmasında yaklasık 1 dk oynama oldu
mysqldede performans cok önemli bir cok örneği var
php'ye gelince o kadar zorki performans arttırmak arkadaşın dediği gibi
Bu bir performans örneği midir? Evet. Sizin projelerinizde bu küçük kod diye tabir ettiğiniz hatalar bir tür sorun teşkil etmeyebilir ama bizim için durum böyle değil. Performans konusu gerçekten çok geniş bir konu. "Güsel" örneklerinizle konuya cevap verebilirsiniz.
- 04-06-2010, 18:50:49Önbellekleme öneriyorum.
Çoğu insan aradığını bulana dek o linkten o linke tıklar durur forumlarda, sonra geri döner az önce tıkladığına yeniden tıklar bakar vs.
Forumuna göre, ya da sayfasına göre önbellekleme bu davranış kalıplarının yarattığı yükü hafifleterek toplam bir hızlanma sağlayacaktır.
Yapılacak şey basit: PHP scriptinin başında son oluşturulma tarihi gönderiyoruz HTTP başlığında, bir de Expires. Sonra da bu script her çağrıldığında GET_IF_MODIFIED_SINCE (şu tarihten beri değişmiş mi) türü çağrıları yokluyoruz. Bir tarayıcı (firefox vs.) önbelleğindeki bir sayfayı yeniden yüklerken bu GET_IMS çağrılarından yollar. Bizse, örneğin arama sonuç sayfaları için yarım saattir değişmediği bilgisi vs. gönderebiliriz. Ya da forum üst grupları için 5-6 dakikadır değişmediği, konular içinse 2-3 dakikadır değişmediği bilgisi gibi... Eğer yan etkiler konusu hakkında endişelerimiz varsa bunu yalnızca sistem yoğun olduğunda veya yoğun trafik olan saatlerde uygulatabiliriz.
Genel, her scriptin başında kullanabileceğimiz bir fonksiyon hazırlayalım:
Evet, işlevin başında çağrının bir arama motoru örümceği tarafından mı yapılıp yapılmadığına bakıyoruz. Çünkü genelde bir sürü örümcek sürekli olarak çok linkli sitemizi tarar, geri gelip bir daha tarar. Bunlara o an yükledikleri sayfanın gün boyunca değişmeyeceği bilgisini gönderiyoruz ki aynı gün bir daha gelmesinler. Ayrıca özel bir durum olarak 1 dakika verilmişse süre olarak, gene tüm gün değişmediği bilgisi gönderiyoruz. Kimi sayfalar için bu özel durumu kullanmak isteyebiliriz.Alıntı
Sonra ise önbellekte kalması istenen dakika parametresini sınırlar içine alıyoruz. En az 5 en çok 30 dakikalık sınırlar belirledik.
Sonra tarayıcıya gönderilecek Greenwich saatlerini hesaplatıyoruz. Bulunulan dakikanın belirtilen dakikadaki modülüsünün alt basamağından itibaren o kadar dakika boyunca değişmeyeceği bilgisi iletilecek. Bu yaklaşım ortalamada belirtilen dakikanın yarısı süresince önbellekleme sağlar.
Örneğin, saat 10:02'de bir sayfayı istemişsek, ve 5 dakikalık önbellekleme parametresi seçmişsek, bu fonksiyon bize o sayfanın 10:00'da oluşturulduğunu ve 10:05'e dek değişmeyeceğini söyleyecek. Bizse o sayfaya saat 10:04'te yeniden tıklarsak, bilgisayarımızdaki tarayıcı program sunucuya hiç uğramadan, doğrudan önbelleğinden sayfayı yeniden oluşturacak.
Bu yaklaşım, hem bant genişliği masrafını hafifletecektir, hem kullanıcıların sayfalar arasında daha hızlı dolaştığını hissetmesini sağlayacaktır, hem de sunucu bilgisayarın üstündeki işlem yükünü gayet hafifletecektir.
Kullanımı şöyle:
Bu örnekte 10 dakika boyunca o php scripti değişmeyecek bilgisi gönderdik.Alıntı
Eğer sunucunun loadavg yükünü okuyabiliyorsak, yüke göre farklı bekleme süreleri belirtebiliriz:
Bu işlev sunucu bilgisayarın yükünü döndürür.Alıntı
Yukardaki örneğin içine gömersek:
Ya da saate göre yaparız. Örneğin Saat 16 - 19 arası genelde Türkiye'de internet yoğundur. Eğer sunucu Türkiye'de değil ise uygun saat kaymalarını hesaba katmayı unutmayarak, şu örnekteki gibi bir hızlanma uygulaması yapabiliriz:Alıntı
Sanıyorum, kimi php sayfalarında bunun epeyi yararı olacaktır.Alıntı
İşe yaraması dileğiyle.