php-fpm优化参数:pm、pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers.
pm取值: static 或 dynamic.
参数介绍:
pm.max_children 该参数决定了同时存在的最大进程数,包括空闲和非空闲进程,是影响最大负载的决定性参数,决定了服务器的最大承载能力。
一般情况下,每个children大约消耗几十M的内存,我们可以根据内存数算出最多可以设置多少个进程,大约不要超过80%总内存即可,同时也要考虑服务器是否有其它服务在运行。其次,要看看服务的类型,如果服务以计算为主时,则设置不要超过CPU核数,如果是非计算为主时可以多设置一些,但也要考虑内存的使用情况。
pm.start_servers 该参数决定了启动时的进程数,原则上介于min_spare_servers和max_spare_servers之间,这个参数对系统性能影响不大,只影响启动时的同时承载能力,如果一上来就是大并发,那可以设置大点。
pm.min_spare_servers 动态方式下的最小php-fpm进程数,该参数是设置最小空闲进程,它影响的是突发响应能力,同时它也是决定了系统的最小进程数。
pm.max_spare_servers 该参数设置最大空闲进程
min_spare_servers影响并发增加时的空闲进程数,max_spare_servers影响并发减少时的空闲进程数。
如何配置?配置多少合适?
理论情况下,如果内存足够大,开启静态效果会好。数量可以按照 内存/30m配置,8GB内存配置为100,内存很小的,指定静态的进程数量数量有利于服务器的稳定。所以明确应用占用的内存,给它指定一个静态的小数量,会让服务器更平稳。
示例:
512M内存的vps ,建议pm.max_spare_servers = 20
pm.min_spare_servers 建议根据服务器的负载情况来设置,例如只部署php环境,建议设置5~10之间。
php-fpm作为php-cgi的管理器,提供监控功能,对请求达到指定次数的php-cgi进程进行重启,保证内存使用量不增长。
打赏
微信扫一扫,打赏作者吧~
如果本篇文章对您有帮助,欢迎向博主进行赞助,赞助时请写上您的用户名。
支付宝直接捐助帐号oracle_lee@qq.com 感谢支持!
喜欢 (7)or分享 (0)