• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

设置PHP的fpm的系统性能参数pm.max_children

武飞扬头像
IChen.
帮助1

1 介绍

PHP从Apache module换成了Fpm,跑了几天突然发现网站打不开了。

页面显示超时,检查MySQL、Redis一众服务都正常。

进入Fpm容器查看日志,发现了如下的错误信息:

server reached pm.max_children setting (5), consider raising it

2. 原因

原来默认情况下Fpm的系统参数是这样的:

pm.max_children = 5
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 3

说明一下这些参数:

max_children

最多进程数量

start_servers

启动时候开启的进程数量

min_spare_servers

最小空闲进程数量

max_spare_servers

最多空闲进程数量

最多5个进程,这显然是不够用的了!

3. 解决

加大子进程数量避免系统崩溃!

平均一个进程占用35M左右的内存,容器分配的内存是1G,1024/35=29,避免内存用光设置少一点,就25个吧!

pm.max_children = 25
pm.start_servers = 10
pm.min_spare_servers = 10
pm.max_spare_servers = 25

除此之外我们还可以通过max_requests参数让进程经过一定的服务次数之后重新启动,这样可以避免系统崩溃的情况出现。

max_requests参数比较容易理解,就是一个进程服务这么多次数之后就会自动销毁掉,然后系统根据其他参数自动补充进程。

这个没有什么算法,服务器访问量大就设置大一些,访问量小就设置小一些。

pm.max_requests = 600

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhiefkjg
系列文章
更多 icon
同类精品
更多 icon
继续加载