商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Ubuntu上php-fpm进程数如何设置

Ubuntu上php-fpm进程数如何设置

  发布于2026-07-16 阅读(0)

扫一扫,手机访问

在Ubuntu上调优PHP-FPM的进程数,其实是个老生常谈但又很容易踩坑的话题。不少朋友配置完之后发现服务器压力一大就崩,或者明明内存充足却跑不满性能,问题往往就出在几个关键参数上。下面直接把操作步骤和参数逻辑拆开来讲,这样你不仅知道怎么改,还能明白为什么要这样改。

Ubuntu上php-fpm进程数如何设置

第一步,打开终端。这个不必多说,SSH进去就行。

第二步,找到PHP-FPM的池配置文件。路径通常是 /etc/php/{version}/fpm/pool.d/www.conf,其中 {version} 是你安装的PHP版本号。比如常用的PHP 7.4,路径就是 /etc/php/7.4/fpm/pool.d/www.conf。用你习惯的文本编辑器打开,nano或者vim都行:

sudo nano /etc/php/{version}/fpm/pool.d/www.conf

记得把 {version} 换成实际的版本号。

第三步,核心配置就在这里了。先找到这么一行:

pm = dynamic

这个 dynamic 表示PHP-FPM采用动态进程管理模式。在这种模式下,你需要调整以下四个参数:

  • pm.max_children:允许的最大子进程数,也就是同时能处理多少个请求的上限。
  • pm.start_servers:PHP-FPM启动时立刻创建的子进程数量。
  • pm.min_spare_servers:最小空闲进程数,保证随时有备用的进程可以响应请求。
  • pm.max_spare_servers:最大空闲进程数,避免浪费太多内存。

第四步,根据你的服务器配置来设具体数值。举个例子,假设是2核4G的VPS,可以这样写:

pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35

这个配置的含义是:最多允许50个子进程同时运行;启动时先拉起5个;正常情况下,最少保留5个空闲进程,最多保留35个空闲进程。这样既能应对突发流量,又不会一直占着大量内存。

注意,这些数值需要根据实际负载反复调优——如果内存小,pm.max_children 设得过高会导致OOM Killer把进程干掉;如果并发量大,设得太低又会频繁排队。一个常用的估算方式是:每个PHP进程大约占用30~50MB内存,用总内存除以这个值,再留出系统本身和数据库的余量,就能得出一个安全的 max_children 上限。

第五步,保存文件并退出编辑器。

第六步,重启PHP-FPM服务让配置生效:

sudo systemctl restart php{version}-fpm

比如PHP 7.4就是:

sudo systemctl restart php7.4-fpm

到此为止,PHP-FPM的进程数就已经按你的意愿调整好了。最后再强调一句:不要照搬别人的数值,一定要结合自己的服务器配置和业务流量反复测试。最好的工具就是 htoppm.status,观察实际占用的进程数和响应时间,逐步逼近最优值。

本文转载于:https://www.yisu.com/ask/60918127.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注