Profilleme PHP kodu

9 Cevap php

PHP ne kadar her fonksiyonunu belirlemek için bir yol bulmak istiyorum, ve PHP her dosya çalıştırmak için alıyor. Ben de "pürüzlü noktalar" bulmaya çalışıyorum eski bir eski bir PHP uygulama var ve bu yüzden rutin ve sayfalar objektif, yüklenmesi çok uzun zaman alıyor, hangi bulmak istiyorum.

Bu izin, ya da ben microtime kullanarak ve kendi profil çerçeve inşa şaşırıp önceden yapılmış araçlar var mı?

9 Cevap

Ben aslında geçen hafta bazı optimizasyon çalışması yaptık. XDebug gerçekten gitmek için yoludur.

Sadece bir uzantısı (nedense benim windows makinede ze_extension çalışmak olmaz) = On xdebug.profiler_enable_trigger ile kurulum php.ini olarak etkinleştirmek ve XDEBUG_PROFILE = 1 ile normal adresler aramak bir get ya da bir yazı olarak ya çok isteği profile değişken. Kolay bir şey yok!

Ayrıca, ben gerçekten bir webbased (php) ve hata ayıklama çıktı dosyalarını okumak ve ayrıştırmak Kod projenin yaz google, webgrind reccommend olabilir!

Here is a nice tip.

Eğer PHP profil profiler_trigger kurmak ve XDebug profiler tetiklemek için bir Bookmarklet bu kullanmak için XDebug kullandığınızda ;)

javascript:if(document.URL.indexOf('XDEBUG_PROFILE')<1){var%20sep=document.URL.indexOf('?');sep%20=%20(sep<1)?'?':'&';window.location.href=document.URL+sep+'XDEBUG_PROFILE';}

xdebug içine bir göz atın, derinlemesine profilleme sağlayan. Ve here's an explanation XDebug nasıl kullanılacağı.

Xdebug's Profiler is a powerful tool that gives you the ability to analyze your PHP code and determine bottlenecks or generally see which parts of your code are slow and could use a speed boost. The profiler in Xdebug 2 outputs profiling information in the form of a cachegrind compatible file.

SchizoDuckie için Kudos mentioning Webgrind. Bu ben bunu duydum ilk. Çok kullanışlı (+1).

Aksi takdirde, kcachegrind linux veya daha az türevi kullanabileceğiniz wincachegrind. Bu uygulamalar hem de xdebug en profiler çıktı dosyalarını okuma ve izleme keyfi için özetleyecek.

Ben bir kez Zend Core için bir ekran-döküm gördüm. Bu sizin için bir sorun ise oldukça iyi görünüyor, ama aslında para maliyeti, bilmiyorum.

XDebug güzel ama IMO kullanmak veya kurulum için o kadar kolay değildir.

Zend Studio yerleşik Profilcinin kullanımı çok kolaydır. Sen sadece bir tarayıcı araç çubuğundaki bir düğmeye basın ve BAM sizin kod profil var. Bir CacheGrind dökümü gibi etraflı değil, belki ts, ama her zaman benim için yeterince iyi.

Siz de kurulum Zend Platform gerekiyor, ancak geliştirme kullanımı için basit ve ücretsiz şu - hala olsa Zend Studio lisans için ödemek zorunda kalacak.

Xdebug en profil fonksiyonları oldukça iyi. Eğer valgrind formatında çıkış kaydetmek için alırsanız, o zaman kişinin görsel bir tür iseniz, daha kolay oluyor ne işe, çağrı grafiğini görüntülemek için KCacheGrind veya Wincachegrind gibi bir şey kullanabilirsiniz.

Ciddiye güçlü gerçek zamanlı hata ayıklama yetenekleri olan ek olarak, NuSphere dan PhpED (www.nusphere.com) IDE içinde tek bir tıklama ile yerleşik bir profiler çalıştırılabilir olduğunu.

Eğer xdebug uzantısı yüklerseniz (Windows'ta) WinCacheGrind okuyabilirsiniz profilleri çalıştırmak, ihracat o kadar ayarlayabilirsiniz. Ben Linux dosyaları okur app adını hatırlamıyorum.

Kolay çözüm Zend Profiler kullanmak için, size, sizin tarayıcınızdan doğrudan çalıştırabilirsiniz kullanmak için Zend Platform gerekmez, oldukça hassas ve ihtiyacınız olan birçok özelliği vardır ve Zend Studio entegre oluyor