随心一记

一二三四五,上山打老鼠


  • 首页

  • 归档

  • 标签
ywcsb

ywcsb

游戏可以不玩,小说不能不看。

153 日志
3 分类
42 标签
RSS
GitHub 知乎 随心一记
Links
  • 随心一记
  • 追梦人物的
  • MSDN

php-fpm性能参数参考

发表于 2019-01-23 | 阅读 871 | 分类于 系统运维 |

这两天发现打开网站比较慢,检查了一个服务器,奇怪的是服务器负载正常,CPU,内存,IO这些都是正常的,想了一下应该是php-fpm的问题了。 php-fpm有两个比较重要的参数:一个是:“max_children”,一个是“request_terminate_timeout”。 我这两个设置的值是“30”,一个是“900”,但是这两个值不是通用的,而是需要自己计算。 方法如下:

如果你的服务器性能足够好的,宽带资源充足,php脚本没有系循环或bug的话你可以直接将request_terminate_timeout设置为0,0的含义是让php-cgi一只执行下去而没有时间限制。而如果你的php脚本做不到话,也就是说你的php-cgi可能出现某个bug,或者是其他的原因导致你的php-cgi假死那么就建议你给request_terminate_timeout附一个值,这个值可以根据你服务器的性能进行设置。一般来说性能越好你就可以设置的越高,20分钟-30分钟都可以。 而max_children这个值有事怎么计算出来的呢?这个值原则上越大越好,php-cgi的进程多了就会处理的很快,排队的请求就会很少,设置max_children也是需要根据服务器的性能来进行设置的,一般来说一台服务器正在情况下每一个php-cgi所耗费的内存在20M左右。

dynamic模式,子进程的数量是基于此动态设置的。 pm = dynamic

start_servers这个是php-fpm启动的进程数,默认值:min_spare_servers + (max_spare_servers - min_spare_servers) / 2 min_spare_servers 这个是php-fpm最小的空闲进程数,小于这个值会自动启动php-fpm进程 max_spare_servers 空闲php-fpm最大进程数,空闲进程大于这个值会自动杀死空闲的进程

ondemand模式,在进程空闲的情况下直接杀死该进程 pm = ondemand

process_idle_timeout 空闲进程被杀死的秒数,默认10s max_requests即使说每个进程超过这个数目,就自动杀死,尽量设置大一点,不过不要设置过大,我这里设置512。
觉得不错,支持一下!
geerniya WeChat Pay

微信打赏

geerniya Alipay

支付宝打赏

# php # http
nginx禁止某些User Agent抓取网站
iptables使用

发表评论

共 0 条评论

    暂无评论
© 2018 - 2022 ywcsb
冀ICP备17022045号-1
Supported by 腾讯云