为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这个参数),不仅能最大化的利用服务器资源,也可以给访问者更快的服务体验。一个合理的参数是需要我们进行相关测试进行总结才能得到的。

测压一般选在业务上线之前,没有其它网络流量,就算过程中造成服务器崩溃也不会有什么损失。

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/827.html

分类: 计算机技术
推荐阅读:
Python eval()函数 在Python中,eval()是一个内置函数,用于将一个字符串作为Python表达式执行,并返回表达式的结果。
使用pip安装PySide6 在安装PySide6之前,你必须先安装Python 3.6 以上版本;你可以使用pip命令进行安装,该命令将安装PySide6最新版本;
Golang逐行读取文本文件 当文件过大,不适合一次性载入内存,且文件每行都包含特定信息时,我们就需要逐行读取文件来保证程序的性能;
没有main()函数的C语言程序 有两种方法可以不添加main()函数来运行C语言程序,第一种用#define预处理指令,第二种是使用-nostartfiles编译选项;
PySide6 QWidget更改窗口标题 PySide6.QtWidgets.QWidget类的成员函数setWindowTitle()用于为窗口更改标题;
Python hash()函数 在 Python 中,hash() 函数用于获取给定对象的哈希值(散列值),即对象的唯一标识符。