为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

分类: 计算机技术
推荐阅读:
Golang中 import cycle not allowed 的解决方法 在Go语言中,在使用import导入相应的包时,你可能会碰到 import cycle not allowed 这样的问题,出现这样的问题是你的包没有规划好,导致包相互依赖;
Python str()函数 str() 函数用于将指定的对象转换为字符串类型。如果对象已经是字符串类型,则返回对象本身;否则,会调用对象的 __str__() 方法来进行转换。
C语言toupper()函数:将字符转换成大写 toupper()是C语言标准库中的一个函数,用于将一个字符转换成对应的大写形式;如果传入的字符参数是一个小写字母,tolower()函数会返回其对应的大写字母;如果参数不是小写字母,则原封不动的返回;
使用pyi-set_version为PyInstaller打包出来的程序附加版本信息 本文将讲述如何使用 pyi-grab_version 获取版本信息的模板文件,以及使用 pyi-set_version 为打包好的程序附加版本信息。
Rust解析TOML,结构体序列化和反序列化 在Rust中,可以使用标准库中的toml模块来解析和生成TOML格式的数据;serde与toml模块集成,可以将TOML字符串解析为任意Rust结构体,或将rust结构体序列化为TOML格式的字符串。
pyside6将信号与槽函数进行连接 在本文中,你将了解信号与槽的概念,掌握在Qt Designer中添加槽函数,以及在PySide6中的应用。