首页 > 服务器    日期:2023-02-09 / 来自互联网 / 浏览

具体现象有:
  • CPU占用高:使用top命令观察到CPU用户态占用特别高,长时间70%以上。
  • php-fpm进程多:使用top命令观察到php-fpm进程特别多。使用wc统计到有160+个进程。
  • 等待线程多:使用top命令观察到等待进程高达8+。
处理思路:
  1. 降低php-fpm进程数:通过调整php-fpm.conf配置文件中pm.max_children字段,重启php-fpm并未见明显降低CPU占用率。
  2. 添加access日志:在php-fpm.conf配置文件添加中access.log = /XXX/access.$pool.logaccess.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%",观察日志,发现有一个接口访问量特别大,并且状态是404。预计就是这里出了问题。
处理结果:

在nginx上将这个api接口丢弃掉(经过讨论,该接口已经处于废弃状态),发现CPU占用恢复正常。

总结:

php-fpm貌似使用cgi技术,fork时会比较消耗资源,后来在nginx上丢弃效率就要高得多



作者:jinelei
链接:https://www.jianshu.com/p/3094d3bf8717
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

觉得上面的内容有用吗?快来点个赞吧!

点赞() 我要打赏

温馨提示 : 本站内容来自会员投稿以及互联网,所有源码及教程均为作者总结编辑,请大家在使用过程中提前做好备份,以免发生无法预知的错误,源码类教程请勿直接用于生产环境!

 可能感兴趣的文章