站群程序的PHP-FPM参数优化

php-fpm,许多人不知道服务器在被攻击的情况下要怎么缓解子进程的占用与排除,一大堆空闲的子进程没有被移除反而还一直占用,无形中增加了内存的负担压力。

如果你的服务器底下正在运行站群,例如.小旋风站群程序,在宝塔上所安装的PHP程序通常预设的参数都不会适用,必须经过长期的观察并且调整才会得到一个稳定的运行。

pm = ondemand
pm.process_idle_timeout = 10 // 必须使用 ondemand 模式,参数才会被触发

pm = ondemand 的运行逻辑

ondemand 模式是:

当有请求来时才启动 PHP 子进程,
当空闲时间超过 pm.process_idle_timeout 后就销毁。

优点:节省内存;
缺点:频繁创建 / 销毁子进程 会带来额外 CPU 消耗和延迟。

每次新建一个子进程(fork())要花几十毫秒;
如果访问高峰期反复触发,就会导致:

  • FPM 不停地「创建-销毁-创建-销毁」;
  • 响应时间上升;
  • nginx/php-fpm socket 出现延迟甚至 502。

READ  宝塔Docker部署MinIO上传切片视频教程
赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《站群程序的PHP-FPM参数优化》
文章链接:https://www.rank50.com/technique/3007.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

登录

找回密码

注册