为pm.max_children设置一个合理的值
pm.max_children这个值在php-fpm中至关重要;其意义为:表示php-fpm 能启动的子进程的最大数量;它能影响你网站的打开速度以及服务器的开销。
该参数位于 php-fpm 默认配置路径 www.conf文件中;
以php-fpm7.0为例:
/etc/php/7.0/fpm/pool.d/www.conf
大约在114行;
理论来说,这个值越大越好,进程多了,请求就会处理很快;但是,如果该值设置过大,所需内存开销大于服务器可用资源,则可能让服务器直接挂掉。
如果设置过小,则可能造成请求列队过多,无法最快的处理请求;最直观的现象是是服务器明明还有很多资源,请求列队却已阻塞。
其实设置成多少,是要看业务场景,和服务器性能来决定的。
所以在得到一个比较合理的值之前,应该先进行压力测试;设置为不同的值来进行压力测试,观察服务器性能数据。
合理的设置服务器的相关参数很重要(不单单是pm.max_children这个参数),不仅能最大化的利用服务器资源,也可以给访问者更快的服务体验。一个合理的参数是需要我们进行相关测试进行总结才能得到的。
测压一般选在业务上线之前,没有其它网络流量,就算过程中造成服务器崩溃也不会有什么损失。