如何在PHP脚本中分析磁盘I / O?

时间:2011-11-08 04:31:12

标签: php linux profiling

我正在使用Supervisord运行5个PHP脚本实例。运行5个进程是最大化我的PHP脚本所做处理的最佳数量。如果我跑得超过5或低于5,我的结果会更差。

我已经使用xdebugwebgrind来分析PHP脚本本身。

我怀疑磁盘I / O是阻止我运行更多并行进程的原因,因为我的CPU和内存没有运行5个进程。我在Amazon EC2实例上有4个虚拟核心,在任何给定时间,Mysqld和Supervisord都没有使用超过50%的CPU。

如何在Linux Cent OS机器上配置磁盘I / O(这听起来像是罪魁祸首)?

我应该寻找其他什么瓶颈?

- 解 -

我无法找到任何能够提供深入信息的简单解决方案。我不确定我在寻找什么,所以我为这个问题道歉并回答模糊。

1 个答案:

答案 0 :(得分:1)

我会在您的脚本运行时查看iostat -c -n 1并查看最右侧%util列中的报告内容。如果你的预感是正确的,那么在你的进程运行时%util应该接近100%。

此脚本是否执行通过网络获取数据的任何处理?这也可能是一个瓶颈。

如果不了解脚本的内容,就很难说更多。每个流程在做什么?您是如何确定5是最佳进程数的?