我正在使用Jmeter测试我的网站,看看有多百个线程会影响网站性能,并使用apache和mod_php以及带有fastcgi的nginx进行测试。我注意到apbe和nginx中的瓶颈总是cpu。当我在nginx设置中查看spu用法时,我可以看到php cgi进程正在占用所有cpu。
我可以做些什么来减少php cpu的使用?
答案 0 :(得分:6)
PHP占用比Web服务器更多的资源的原因是PHP正在做更多的工作,并且用一种解释的语言(Apache和Nginx都编译成CPU指令)。
第一步是实现操作码缓存(我推荐APC,因为它很容易由PHP人员安装和维护)。这将缓存脚本的“已编译”版本,这将删除大量的脚本执行。
降低CPU使用率的唯一方法是使代码更有效。尝试识别瓶颈(大型数组和其他数据结构可能是第一个检查)并找到使代码的这些部分表现更好的方法。