确定php脚本使用了多少资源(cpu百分比和内存)

时间:2017-06-06 03:55:48

标签: php symfony profiling cpu-time xhprof

我目前正在使用由tideways.io分叉的xhprof库来分析myscript.php执行情况。从xhprof开始,我可以获得walltimecputimememoryusagepeakmemoryusage。我尝试对symfony控制台进行基准测试 - 所以我在其TIDEWAYS_ENABLE()ConsoleCommandEvent TIDEWAYS_DISABLE上添加了ConsoleTerminateEvent

问题:

  1. 如何判断myscript.php是否消耗了多少百分比的cpu?我可以将这个百分比计算为cpuusage = cputime / realtime,如here on serverfault所述吗?
  2. 鉴于来自memoryusage (mu)个人资料工作者的peakmemoryusage (pmu)xhprof,如何转换或计算其ram用法? (top结果显示远高于memoryusage,但不知何故接近peakmemoryusage值,所以我可以说ram用法是peakmemoryusage的值吗?
  3. 注意:

1 个答案:

答案 0 :(得分:0)

我不确定您想要使用数据确定什么,但如果您正在尝试进行任何比较分析(例如“当我删除此循环时,它的速度提高了25%并且使用的内存减少了10%”)I' d建议您使用https://blackfire.io/

易于设置且易于使用。它还提供请求之间的自动比较分析。它还在内部进行多次传递,以确保外部因素被平均。

我无法确切地说CPU和内存使用情况数据是否准确。它相对于blackfire中的其他数据肯定是准确的 - 所以如果你只是需要比较它,那么效果很好。如果你需要绝对的数字,你应该带着一粒盐(这样多少个脚本在4GB服务器上运行是否安全?)。但我会说它非常准确。它肯定比xdebug的profiller好多了。