为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

分类: 计算机技术
推荐阅读:
Rust:if this is intentional, prefix it with an underscore解决方法 编译Rust程序时提示:if this is intentional, prefix it with an underscore: `_x`,这表明存在一个未使用的变量 x,你可以将其删除或在变量名前添加一个下划线前缀;
Python any()函数 any()是 Python 内置函数之一,接受一个可迭代对象(例如列表、元组、集合或生成器)作为参数,如果至少有一个元素在逻辑上等价于 True,则返回 True,否则返回 False。
什么是函数原型? 函数原型包括函数的名称、参数列表以及返回类型,但不包含函数体内的具体实现代码。函数原型的作用是为编译器提供关于函数的基本信息,以便在程序中正确地调用和使用该函数。
Python实现字符串大小写转换 你可能会使用字符串的upper()方法将字符串中的字母全部转换成大写,或使用lower()方法将字符串中的字母全部转换成小写;那如何将字符串中的大写转换成小写、小写转换从大写呢?本文将使用Python实现这一功能;
Linux查看实时活动的网络服务 在Linux系统下,你可以使用一条命令即可查看系统当前实时活动的网络服务:
查看Linux系统是32位还是64位 在Linux系统下,你可以通过一条命令获得系统是32位的还是64位的: