前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >优化 PHP-FPM

优化 PHP-FPM

作者头像
Yifans_Z
发布2023-08-23 18:45:47
1960
发布2023-08-23 18:45:47
举报
文章被收录于专栏:与荔枝一起成长

TL;DR

代码语言:javascript
复制
cat php-fpm.conf | grep '^[^;]'
代码语言:javascript
复制
[www]
user = nobody
group = nobody
listen = 127.0.0.1:10071

#php-fpm进程启动模式,pm可以设置为static和dynamic和ondemand
#如果选择static,则进程数就数固定的,由pm.max_children指定固定的子进程数。
pm = dynamic

#如果选择dynamic,则进程数是动态变化的,由以下参数决定:
#子进程最大数
pm.max_children = 50
#启动时的进程数,默认值为: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
pm.start_servers = 2
# 保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程
pm.min_spare_servers = 1
# 保证空闲进程数最大值,如果空闲进程大于此值,此进行清理
pm.max_spare_servers = 3

static 还是 dynamic

很多人恐惧症来袭,不知道选什么好?

一般原则是:动态适合小内存机器,灵活分配进程,省内存。静态适用于大内存机器,动态创建回收进程对服务器资源也是一种消耗。

如果你的内存很大,有 8-20G,按照一个 php-fpm 进程 20M 算,100 个就 2G 内存了,那就可以开启 static 模式。如果你的内存很小,比如才 256M,那就要小心设置了,因为你的机器里面的其他的进程也算需要占用内存的,所以设置成 dynamic 是最好的,比如:pm.max_chindren = 8, 占用内存 160M 左右,而且可以随时变化,对于一半访问量的网站足够了。

慢日志查询

代码语言:javascript
复制
# 慢请求的记录日志,配合request_slowlog_timeout使用,默认关闭
slowlog = log/$pool.log.slow

# 当一个请求该设置的超时时间后,就会将对应的PHP调用堆栈信息完整写入到慢日志中. 设置为 '0' 表示 'Off'
request_slowlog_timeout = 10s

# 设置单个请求的超时中止时间. 该选项可能会对php.ini设置中的'max_execution_time'因为某些特殊原因没有中止运行的脚本有用. 设置为 '0' 表示 'Off'.当经常出现502错误时可以尝试更改此选项。
request_terminate_timeout = 0

References

– EOF –

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • TL;DR
  • static 还是 dynamic
  • 慢日志查询
  • References
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档