PHP Performans Ölçütleri

2 Cevap php

Şu anda kişisel bir proje için bir PHP MVC Framework geliştiriyorum. Ben çerçeveyi geliştiriyorum ederken optimizasyonu için farklı teknikler uygulayarak herhangi bir kayda değer bir performans görmek için ilgileniyorum. Ben mircotime günlükleri ham BenchMark sınıfını hayata geçirdik.

Sorun etmmek için herhangi bir referans çerçevesi olması. Ben çok bir veritabanı bağlantısı ve birkaç sorgu ile bu projenin başlamasını yakın değilim ama çıkış yok (bazı hata ayıklama metin ve BenchMark günlüğü bar). I 0.01917 seconds güncel bir yürütme zaman var.

I was expecting this to be lower but as I said before I have no frame of reference. I appreciate there are many variables to take into account when juding performance but I am hoping to find some sort of metric to
a) techniques to measure performance for example requests per second and
b) compare results for example; how a "moderately" sized PHP application on a "standard" webserver will perform. I appreciate "moderately" and "standard" are very subjective words so perhaps a table of known execution times for a particular application (eg StackOverFlow's executing time).

Performans ölçme diğer teknikler yürütme zaman başka orada ne vardır?

Bakarken MVC Framework Performance Comparisom saniye (RPS) Başına Taleplerinin bahsediyor. Bu nasıl hesaplanır? I 0.01917 seconds 52 RPS (= 1 / 0.01917 ) işleyebilir benim şimdiki yürütme zaman tahmin ediyorum. Bu benim şimdiki sınırlı funcitonality düşünün özellikle grafiği kote önemli ölçüde daha düşük olduğu görünüyor.

2 Cevap

Kriter belirli bir sayfa kullanın ab. Kriter sunucuda sayfaların bir yük için, try siege.

Ancak ... Bu ikisi de yine çoğunlukla yapay testlerdir. Ben şahsen de bazı ekstra günlükleri eklemek.

  • Web sunucusu (veya vekil, ne olursa olsun) sayfa yükleme süresi
  • Veritabanında yavaş sorgu günlüğü
  • Sorgu sayısı çok sayfa başına oturum eğer mümkünse, bu şekilde sizin sayfaların nasıl ağır bileceksiniz ;)

Eğer kod profil XDebug kullanabilirsiniz. Ama çok erken geliştirme sürecinde yol optimize edilir. Sadece microtime çağrı eylemi o (PHP motoru dışında) sistemine bir çağrı yapmak zorundadır beri şeyler yavaşlatmak için gidiyor. Her nesne oluşturma, başka bir kaynak (yani veritabanı) bağlantısı nispeten konuşma, yükü bir sürü eklemek için gidiyor içerir.

Eğer samimi, çok önbellek olmak için sistem tasarımı, o zaman kod çalıştırmasına gerek yok. Örneğin, WordPress çok yavaş. Iyi bir web sunucusunda / sn yaklaşık 15 sayfa. Bu içeren bir sürü yapar ve bir sürü kod çalışır. Ama SuperCache eklenti ve performans artışı 10x ekleyin. Bu önbellek dosyası oluşturma ve PHP tüm çalıştırmak zorunda değildir bu yüzden bazı Apache kurallarını kullanarak çalışır.