PHPfpm优化-创新互联
在优化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
)
####################################################
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网页名称:PHPfpm优化-创新互联
文章URL:http://ybzwz.com/article/diijjj.html