开发者社区> 问答> 正文

linux 服务器负载很高,缘由貌似是 php进程过多,而且一直保持 400多

screenshot
linux 服务器负载很高,缘由貌似是 php进程过多,而且一直保持 400多

展开
收起
a123456678 2016-06-16 15:24:21 2598 0
2 条回答
写回答
取消 提交回答
  • 旺旺:nectar2。

    您好,

    那您可以进一步查看这些php进程在做些什么,查询sql,还是在等待I/O呢?

    2019-07-17 19:41:00
    赞同 展开评论 打赏
  • mod_php是和apache同步执行的, 如果fastcgi的话, 服务器(一般nginx)和php之间是异步关系, 在某些情况下可以无需那么多php进程

    打个比方, 如果一个用户用龟速上传一个文件, 那么apache和apache里面的那个php就在等待这个用户上传完成, 所以系统里面就需要更多的apache进程来应对并发

    如果异步执行, 那么nginx在处理用户的上传, 一旦用户上传文件完成, 传给php处理只是一瞬间的事情.

    当然有时候fastcgi也不一定能解决问题, 比如php在等待一个sql查询, 这个查询花了5秒, 那么5秒之内有新用户来访, 这个php就不能出门欢迎, 所以必须新开一个php进程

    2019-07-17 19:41:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
服务器的第一道防线-美联集团堡垒的前世今生 立即下载
机器学习在大规模服务器治理复杂场景的实践 立即下载
函数计算事件驱动的无服务器计算服务 立即下载