开发者社区> 问答> 正文

phpcgi进程占用cpu资源过多负载高的原因都有哪些?

问题:
服务器环境:redhat linux 5.5 , nginx ,  phpfastcgi
php-cgi进程占用cpu资源过多负载高的原因都有哪些?

展开
收起
lenmora 2014-06-20 11:30:16 7757 0
3 条回答
写回答
取消 提交回答
  • Rephpcgi进程占用cpu资源过多负载高的原因都有哪些?
    感谢两位大神!~~

    顺便赞一下帮帮团这个互助组织
    2014-06-20 11:43:27
    赞同 展开评论 打赏
  • Rephpcgi进程占用cpu资源过多负载高的原因都有哪些?
    可能导致php-cgi负载高的原因有:
    1.程序内含有死循环
    2.php扩展过多,或是php扩展与php不兼容
    3.程序不合理使用session
    4.程序中含有不合理;不可完成;耗时的代码
    5.网站代码本身耗费资源。
    2014-06-20 11:38:40
    赞同 展开评论 打赏
  •     在这样的服务器环境下,一般php-cgi运行是非常稳定的,但也遇到过php-cgi占用太多cpu资源而导致服务器响应过慢,所遇到的php-cgi进程占用cpu资源过多的原因主要有以下几个:
    原因一:一些php的扩展与php版本兼容存在问题:实践证明 eAccelerater与某些php版本兼容存在问题,具体表现是启动php-cgi进程后,运行10多分钟,奇慢无比,但静态资源访问很快,服务器负载也很正常(说明nginx没有问题,而是php-cgi进程的问题),解决办法就是从php.ini中禁止掉eAccelerater模块,再重启php-cgi进程即可
    原因二:程序中可能存在死循环,导致服务器负载超高(使用top指令查看负载高达100+), 需要借助Linux的proc虚拟文件系统找到具体的问题程序
    原因三:php程序不合理使用session , 这个发生在开源微博记事狗程序上,具体表现是有少量php-cgi进程(不超过10个)的cpu使用率达98%以上,服务器负载在4-8之间,这个问题的解决,需要借助Linux的proc文件系统找出原因
    原因四:程序中存在过度耗时且不可能完成的操作(这个需要你去排查你服务器中安装程序的)
    2014-06-20 11:37:14
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
服务上云加速大家居产业C2M进程 立即下载
RDS SQL Server CPU高使用率性能优化 立即下载
用户态高速块缓存方案 立即下载

相关实验场景

更多