我目前正在使用由tideways.io分叉的xhprof
库来分析myscript.php
执行情况。从xhprof
开始,我可以获得walltime
,cputime
,memoryusage
和peakmemoryusage
。我尝试对symfony控制台进行基准测试 - 所以我在其TIDEWAYS_ENABLE()
和ConsoleCommandEvent
TIDEWAYS_DISABLE
上添加了ConsoleTerminateEvent
。
问题:
myscript.php
是否消耗了多少百分比的cpu?我可以将这个百分比计算为cpuusage = cputime / realtime
,如here on serverfault所述吗?memoryusage (mu)
个人资料工作者的peakmemoryusage (pmu)
和xhprof
,如何转换或计算其ram
用法? (top
结果显示远高于memoryusage
,但不知何故接近peakmemoryusage
值,所以我可以说ram
用法是peakmemoryusage
的值吗?注意:
system load
。 p.s可能有多个scripts.php
同时运行。答案 0 :(得分:0)
我不确定您想要使用数据确定什么,但如果您正在尝试进行任何比较分析(例如“当我删除此循环时,它的速度提高了25%并且使用的内存减少了10%”)I' d建议您使用https://blackfire.io/。
易于设置且易于使用。它还提供请求之间的自动比较分析。它还在内部进行多次传递,以确保外部因素被平均。
我无法确切地说CPU和内存使用情况数据是否准确。它相对于blackfire中的其他数据肯定是准确的 - 所以如果你只是需要比较它,那么效果很好。如果你需要绝对的数字,你应该带着一粒盐(这样多少个脚本在4GB服务器上运行是否安全?)。但我会说它非常准确。它肯定比xdebug的profiller好多了。