处理php-fpm高CPU占用
时间:2025-12-15 02:30:04|栏目:其它服务器|点击: 次
具体现象有:
- CPU占用高:使用
top命令观察到CPU用户态占用特别高,长时间70%以上。 - php-fpm进程多:使用
top命令观察到php-fpm进程特别多。使用wc统计到有160+个进程。 - 等待线程多:使用
top命令观察到等待进程高达8+。
处理思路:
- 降低php-fpm进程数:通过调整
php-fpm.conf配置文件中pm.max_children字段,重启php-fpm并未见明显降低CPU占用率。 - 添加
access日志:在php-fpm.conf配置文件添加中access.log = /XXX/access.$pool.log、access.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
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
您可能感兴趣的文章
- 12-20Kubernetes中使用临时容器进行故障排查的方法
- 12-20Nginx设置HTTPS的方法步骤
- 12-20二进制方式安装 Kubernetes1.18.3版本实现脚本
- 12-20Nginx工作模式及代理配置的使用细节
- 12-20ZooKeeper分布式协调服务设计核心概念及安装配置
- 12-20Kubernetes部署可视化地图的十个步骤
- 12-20关于docker清理Overlay2占用磁盘空间的问题(亲测有效)
- 12-20Docker compose配置文件写法及命令使用示例
- 12-20openwrt安装docker并启动的操作方法
- 12-20云原生Kubernetes初始化容器Init使用教程


阅读排行
推荐教程
- 12-07一文教你怎么选择Tomcat对应的JDK版本
- 12-07新版Eclipse集成Tomcat时找不到server选项的解决方法
- 12-06IIS7 应用程序池自动回收关闭的解决方案
- 12-05Windows Server 2019安装VMware
- 12-05Windows服务器默认IE浏览器无法下载文件的解决方法
- 12-05Docker安装Jenkins全过程
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-15Docker-Compose搭建Spark集群的实现方法
- 12-14Docker Desktop无法正常启动解决(failed to start...)
- 12-14k8s 与docker空间使用分析与清理方法





