【问题标题】:determine how much resource used by a php script (cpu percentage and memory)确定 php 脚本使用了多少资源(cpu 百分比和内存)
【发布时间】:2017-11-06 22:46:40
【问题描述】:

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

问题:

  1. 如何确定myscript.php 是否消耗了多少百分比的cpu?我可以像here on serverfault 所说的那样将百分比计算为cpuusage = cputime / realtime 吗?
  2. 给定来自xhprof 分析器的memoryusage (mu)peakmemoryusage (pmu),我如何转换或计算它的ram 使用量? (top 结果显示比memoryusage 高得多,但在某种程度上接近peakmemoryusage 值,所以我可以说ram 使用是peakmemoryusage 的值吗?

注意事项:

【问题讨论】:

    标签: php symfony profiling cpu-time xhprof


    【解决方案1】:

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

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

    我不能说 CPU 和内存使用数据是否准确。相对于 blackfire 中的其他数据,它绝对是准确的——所以如果你只需要比较它就可以了。不过,如果您需要绝对数字,您应该对它持保留态度(在 4GB 服务器上运行多少这样的脚本是安全的?)。但我会说它非常准确。它绝对比 xdebug 的分析器好得多。

    【讨论】:

    • 实际上我没有问题检索cputime - 我使用tideways.io 分叉的xhprof 而不是blackfire.io。是什么让我感到好奇,是否可以计算 script.php cpu 使用率,就像在命令中显示的那样,如 tophtop 仅从 cputime 值的百分比?
    • 哎呀,对不起,我误解了你的要求
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-15
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多