我正在使用Supervisord运行5个PHP脚本实例。运行5个进程是最大化我的PHP脚本所做处理的最佳数量。如果我跑得超过5或低于5,我的结果会更差。
我已经使用xdebug和webgrind来分析PHP脚本本身。
我怀疑磁盘I / O是阻止我运行更多并行进程的原因,因为我的CPU和内存没有运行5个进程。我在Amazon EC2实例上有4个虚拟核心,在任何给定时间,Mysqld和Supervisord都没有使用超过50%的CPU。
如何在Linux Cent OS机器上配置磁盘I / O(这听起来像是罪魁祸首)?
我应该寻找其他什么瓶颈?
- 解 -
我无法找到任何能够提供深入信息的简单解决方案。我不确定我在寻找什么,所以我为这个问题道歉并回答模糊。
答案 0 :(得分:1)
我会在您的脚本运行时查看iostat -c -n 1
并查看最右侧%util列中的报告内容。如果你的预感是正确的,那么在你的进程运行时%util应该接近100%。
此脚本是否执行通过网络获取数据的任何处理?这也可能是一个瓶颈。
如果不了解脚本的内容,就很难说更多。每个流程在做什么?您是如何确定5是最佳进程数的?