2017-06-06 103 views
6

Şu an numaralı xhprof kitaplıklarını kullanıyorum myscript.php uygulama için profil oluşturma. xhprof'dan walltime, cputime, memoryusage ve peakmemoryusage'u alabilirsiniz. Ben bir symfony konsolu kıyaslamaya çalışıyorum - bu yüzden TIDEWAYS_ENABLE(), ConsoleCommandEvent ve TIDEWAYS_DISABLE, ConsoleTerminateEvent.Bir php betiği tarafından kullanılan ne kadar kaynak (işlemci yüzdesi ve bellek)

Sorular:

  1. Nasıl cpu kaç yüzdesini tüketmek myscript.php olmadığını belirleyebilir? Yüzdeyi belirtilen here on serverfault gibi cpuusage = cputime/realtime olarak sayabilir miyim?
  2. memoryusage (mu) ve peakmemoryusage (pmu) öğesinden verilen xhprof profiler, ram kullanımını nasıl dönüştürürüm veya hesaplar? (top sonuç memoryusage ama nedense yakın peakmemoryusage değerinden çok daha yüksek göstermek, bu yüzden ram kullanım peakmemoryusage

Notlar değeri olduğunu söyleyebiliriz:?

cevap

0

emin değilim neyi verileri kullanarak belirlemek istediğinizde, ancak karşılaştırmalı analiz yapmaya çalışıyorsanız (ör. "Bu döngüyü kaldırdığımda,% 25 daha hızlıdır ve% 10 daha az bellek kullanır") https://blackfire.io/'u kullanmanızı öneririm.

Kurulumu ve kullanımı kolaydır. Ayrıca talepler arasında otomatik karşılaştırmalı analiz sunar. Ayrıca, dış faktörlerin ortalamasını aldığından emin olmak için dahili olarak birden çok geçiş yapar.

CPU ve bellek kullanım verilerinin doğru olup olmadığını gerçekten söyleyemem. Blackfire'daki diğer verilere göre kesinlikle doğrudur - sadece karşılaştırmak gerekirse harika çalışır. Mutlak sayılara ihtiyacınız varsa, bir tane tuzla almalısınız (4GB sunucusunda çalışmak için kaç tane betik bu kadar güvenlidir?). Ama oldukça doğru olduğunu söyleyebilirim. Kesinlikle xdebug'un profilciden çok daha iyi.

+0

Aslında ben 'cputime' almak için bir sorunum yok - [tideways.io] (https: https://github.com/tideways/php-profiler-extension) [https://github.com/tideways/php-profiler-extension] kullanarak yapıyorum //tideways.io) yerine [blackfire.io] (https://blackfire.io). Beni güvendiren şey, 'scputt.php' cpu kullanımının, sadece 'cputime' değerinden yüzde cinsinden 'top' veya' htop 'gibi komut olarak gösterilmiş gibi hesaplanması mümkün mü? –

+0

oops, üzgünüm ne istediğini yanlış anladım –

İlgili konular