我正在使用 Jmeter 测试我的站点,以查看一百个线程将如何影响站点性能,并使用 apache 和 mod_php 以及带有 fastcgi 的 nginx 对其进行了测试。我注意到 bottlebeck 在 apache 和 nginx 中总是 cpu。当我查看 nginx 设置中的 spu 使用情况时,我可以看到 php cgi 进程占用了所有 cpu。
我可以做些什么来减少 php cpu 的使用?
最佳答案
PHP 比您的 Web 服务器占用更多资源的原因是 PHP 做了更多的工作,并且是用一种解释语言(Apache 和 Nginx 都被编译成 CPU 指令)来完成的。
第一步是实现一个操作码缓存(我推荐 APC,因为它很容易被 PHP 人员安装和维护)。这将缓存脚本的“已编译”版本,这将删除大量脚本执行。
降低 CPU 使用率的唯一其他方法是使您的代码更有效。尝试找出瓶颈(大型数组和其他数据结构可能是最先检查出来的)并找到使代码的这些部分性能更好的方法。
关于PHP 尖峰 cpu 使用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6083430/