博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php-fpm优化
阅读量:7120 次
发布时间:2019-06-28

本文共 1556 字,大约阅读时间需要 5 分钟。

在优化PHP的进程数的时候我们首先要了解我们服务器执行一个php使用的内存

1: 查询一个php占用的内存方法

pmap $(pgrep php-fpm | head -1)

我这里查询到的是

00002ba5d0bec000      4K rw-s-  /dev/zero (deleted)

00002ba5d0bed000      4K rw-s-  /dev/zero (deleted)

00007fffc568b000     80K rwx--    [ stack ]

00007fffc569f000      4K rw---    [ anon ]

00007fffc57fd000     12K r-x--    [ anon ]

ffffffffff600000   8192K -----    [ anon ]

total           309548K

大概30MB的样子

我本身机器内存是32G,那么理论上计算最大能承受php的并发是 32G/30MB=1092个

那么如果除去系统跟其他软件的使用内存大概算900个

2 :php-fpm的配置公式:pm.start_servers = min_spare_servers + (max_spare_servers - min_spare_servers) / 2

pm.max_children的计算方法,本机内存/30兆每个为最大的限定值再适当减小
相关参数解读:
pm.max_children:静态方式下开启的php-fpm进程数量。
pm.start_servers:动态方式下的起始php-fpm进程数量。
pm.min_spare_servers:动态方式下的最小php-fpm进程数量。
pm.max_spare_servers:动态方式下的最大php-fpm进程数量。
针对我的服务器情况调整这几个值为(当然我这边是集群所以我启动300个已经足够了):
pm.max_children = 300
pm.start_servers = 155
pm.min_spare_servers = 10
pm.max_spare_servers = 300

###################################################

(备注:如果不按这个公式计算做配置多多少少会出现写问题,比如

seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 0 idle, and 34 total children    (这个很明显是要你调节进程数)

child 1616 exited with code 0 after 619688.718148 seconds from start  (一下三个好像都是提示执行超时)

child 14636 exited on signal 15 (SIGTERM) after 269249.100189 seconds from star

request: "POST /test.php") execution timed out (198.776247 sec), terminating

等等类似的报错

如果是ngixn做的前端代理会出现当后端服务器出现类似问题就会连接失败提示没在线的主机等等情况

no live upstreams while connecting to upstream, client

####################################################

本文出自 “” 博客,请务必保留此出处

转载地址:http://evnel.baihongyu.com/

你可能感兴趣的文章
36.5. height / width
查看>>
动手实践虚拟网络 - 每天5分钟玩转 OpenStack(10)
查看>>
【Python】supervisor 工具介绍
查看>>
浅谈嵌入式软件的未来发展
查看>>
Spark源码分析之二:Job的调度模型与运行反馈
查看>>
C#——await与async实现多线程异步编程
查看>>
如何找到一个好的Joomla主机提供商
查看>>
Dockerfile最佳实践(二)
查看>>
T-SQL Enhancement in SQL Server 2005[下篇]
查看>>
杀毒软件可能令企业用户陷入更大危机
查看>>
澳政府投资光伏发电 内外资项目角逐高额补助
查看>>
《从问题到程序:用Python学编程和计算》——2.4 字符串
查看>>
《AngularJS实战》——3.2 过滤器的应用
查看>>
《贝叶斯思维:统计建模的Python学习法》——2.5 封装框架
查看>>
《Cisco安全防火墙服务模块(FWSM)解决方案》——2.7 软件架构
查看>>
《R与Hadoop大数据分析实战》一2.6 小结
查看>>
微软重写 Windows 10 激活规则
查看>>
程序员的生存技巧 —— 搜索技巧
查看>>
《Scala机器学习》一一
查看>>
《版式设计——日本平面设计师参考手册》—第1章段落样式和字符样式的基础知识...
查看>>