[]

PHP sayfa oluşturma hızı. Performans?

php de çok sayıda sql bağlantısı yaptığım bir site kodlamaktayım.
fazla sayıda kullanıcıya erişmeyi planladığım için performans önemli.

sayfalar maximum 0.1 sn de falan yükleniyor.

i7 işlemcili bir bilgisayar kullanıyorum.
kullanacağım sunucu muhtemelen bu kadar iyi işlemcili olmaz. maximum 0.3-0.4 sn lerde falan açsa mesela. Bu kötü bir rakam mı?

Mesela normal bir phpBB,vBluetin ve ya wordpress'in sunucularda sayfa oluşturma hızları nasıl? Bilgi sahibi bi yazar bilgilendirirse şahane olur.

İlk defa bu denli büyük bir proje içerisinde olduğum için performans rakamları sunucuya ve sunucu masrafıma nasıl yansıyacak bilemiyorum. Bi bilgi verebilirseniz çok müteşekkir olacağım.

not: oluşturma hızını microtime() ile ölçtüm.

 
ölçüm şeklin doğru ancak "sayfanın açılması" sürecinin en kısa adımı. chrome developer tools'da network sekmesinde bir sayfanın yüklenme adımlarını ve aldığı süreleri takip edebilirsin. oradaki çubuklar arasındaki boşluklar sunucudaki işlem süresidir ve genelde en kısa olanlardır.

yani, kullanıcı isteği gönderecek, network katmanından bu istek sunucuya gelecek, sunucu işleyecek ve aynı soketten tekrar geri çevirecek. ve bunu sayfadaki her resource (css, js, resimler vb.) için ayrı ayrı yapacak.

sürecin en uzun süren aşamaları genellikle network transferleri olur. bunun için de request sayısını azaltmak gerekir. yani css ve js dosyalarını minify+bundle yapmalısın. ancak bunu canlıya geçerken yapman şart ve özellikle javascript dosyaları için source map'leri oluşturman gerekir. yoksa debug edemezsin.
  • screamshot  (20.03.15 08:20:52) 
@screamshot front end tarafini anlatmis, ben de back-end tarafinda genel olarak birsey ekleyeyim. Bu tarz database sorgusunun cok yüksek oldugu durumlarda en büyük zaman kaybina "mysql connection" adimi neden oluyor. Cok fazla "connection" kuruyorsan ve islemi tek sorguda yapmiyorsan "connection pool" yapman gerekli. (detaya giremiyorum maalesef aslen javaciyim, php de detaylari bilmiyorum). Ikinci adim olarak da mysql sorgusunu hizlandirmak icin "mysql query cache" yapman lazim. Bunlara ek olarak da verilerinde cok fazla degisiklik olmuyorsa ayrica php tarafinda da bir "cache" mekanizmasi yazmalisin.

Bu sekilde http isteginin servera düstügü andan istegin mysql sorgusu haline getirilmesi ve sonuclarin "http response" olarak tekrar "client" tarafina dönülmesine kadar kismi optimize etmis olabilirsin.
  • emrahday  (20.03.15 10:06:03) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.