PHP kodu performans testi

6 Cevap php

Benim php kodun performansını test etmek için en iyi yolu nedir?

6 Cevap

Xdebug (Neil Aitken cevaba bakınız) PHP kodu kötü performans sorunları tanımlamak için yararlıdır - ama sadece çok kontrollü ve kısıtlayıcı koşullar altında kullanılabilir - concurency performansı üzerinde ne etkisi olduğunu görmek için en azından onun zor.

Patrick MARIE anlaşılacağı gibi, sen ab kullanabilirsiniz yaparken onun değil - uygulanabilir bir yaklaşım ölçmek için çalışıyoruz işlem (örneğin, N rastgele ürün eklemek uygulamasında oturum açın ve oturumu oluşturmak, sepet rastgele bir ürün ekleyin, tekrar sayfa daha yayılıyorsa kere ...).

AFAIK kayıt / scripting etkileşimleri için PHP tabanlı bir çözüm var - ama Perl + WWW var: + HTTP mechanize: kaydedici. Son derece zengin iseniz Yoksa HPs loadrunner ürünü satın alabilirsiniz.

Ama onun uygulama nasıl kullanıldığını gerçek temsilcisi olan test uygulamak çok zor - ve uygulama performansını (parçaları ile ilgili az veri) zamanla değişecektir - böylece koduna uygun performans ölçütlerini oluşturmak gerekir.

... Ve o zaman bile, bir HTML sayfası oluşturmak için PHP için alınan kez tarayıcıda işlemek için bir sayfa için ne kadar sürer, hikayenin sadece çok küçük bir parçasıdır.

HTH

C.

Siz kodu analiz / sorguları sayıda çalıştırmak ve xhprof profile ab (apache benchmark tool) kullanmayı düşünmelisiniz. Benim düşünceme göre, bunlar sadece temelleri vardır ama büyük sonuçlar verir.

xDebug Eğer KCacheGrind veya WinCacheGrind gibi bir program ile okuyabilirsiniz kez bazı dosyaları dökümü yapılandırılan, yerleşik bir profiler var

Bu o zaman tüm işlev çağrıları, ortalama ve kümülatif arama sürelerini ve toplam betik çalıştırma zamanı görmek için izin verir. Kodunuzda darboğazları bulmak için çok yararlı.

Eğer belirli bir kod parçasını test etmek istiyorsanız, PHP PEAR kütüphaneden Benchmark paketini kullanarak düşünün.

$timer = new Benchmark_Timer();
$timer->start();
// Code to test here
$timer->stop();
$timer->display();

Eski bir konuya yeni bir bakış olarak, profilleme yardımcı olmak için böyle NewRelic gibi bir ticari aracı kullanarak düşünün. Ben şahsen sadece serbest veya bir nominal fiyat ya için veri küçük bir örnek almak için onları kullanabilirsiniz. Ama onların tam özellikli ürün deneme tam olarak yararlanmak yok.

Ayrıca Sen APD (Advanced PHP Debugger) kullanabilirsiniz.

O iş yapmak oldukça kolay.

APD derlemek ve onunla profilleme yapmak için nasıl bir öğretici güzel vardır: http://martinsikora.com/compiling-apd-for-php-54