Laravel 部署:PHP-fpm 配置调优 1 个改进

php-fpm 进程数调优

介绍

使用 ps aux|grep php-fpm 查看 php-fpm 进程,可以看到有三个子进程。

root@example:/# ps aux|grep php-fpm
root       574  0.0  0.0 463668   104 ?        Ss   Jun16   0:49 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf)
www-data  5320  0.7  2.5 475660 25248 ?        S    00:27   6:41 php-fpm: pool www
www-data  5321  0.7  2.6 475784 26312 ?        S    00:27   6:37 php-fpm: pool www
www-data  9412  0.7  2.5 474632 26156 ?        S    14:04   0:41 php-fpm: pool www
root     11647  0.0  0.1  16148  1040 pts/0    S+   15:33   0:00 grep --color=auto php-fpm

进程数是由 / etc/php/7.2/fpm/pool.d/www.conf 指定的:

  • pm = dynamic:子进程的数量是根据以下指令来动态生成的:pm.max_childrenpm.start_serverspm.min_spare_serverspm.max_spare_servers.
  • pm = ondemand:在服务启动的时候根据 pm.start_servers 指令生成进程,而非动态生成。
  • pm = static:子进程的数量是由 pm.max_children 指令来确定的。

安装好,默认是 pm = dynamic

如果您的服务器内存小,可以默认就好,大内存服务器则可以设置为 pm = static,然后 pm.max_children 数量根据服务器的内存来决定,这样就可以最大化你的服务器负载能力。

如何配置

环境

  • Ubuntu 18.04 LTS
  • PHP 7.2

这边示例,调为 10个:

`pm.max_children = 10

设置好重启 php-fpm:

sudo systemctl restart php7.2-fpm

最后看下是否成功:

root@example:~# ps aux|grep php-fpm
root     12241  0.6  1.3 464160 27792 ?        Ss   21:50   0:00 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf)
www-data 12259  0.0  0.6 466460 14152 ?        S    21:50   0:00 php-fpm: pool www
www-data 12260  0.0  0.6 466460 14152 ?        S    21:50   0:00 php-fpm: pool www
www-data 12261  0.0  0.6 466460 14152 ?        S    21:50   0:00 php-fpm: pool www
www-data 12263  0.0  0.6 466460 14152 ?        S    21:50   0:00 php-fpm: pool www
www-data 12264  0.0  0.6 466460 14152 ?        S    21:50   0:00 php-fpm: pool www
www-data 12265  0.0  0.6 466460 14152 ?        S    21:50   0:00 php-fpm: pool www
www-data 12267  0.0  0.6 466460 14156 ?        S    21:50   0:00 php-fpm: pool www
www-data 12268  0.0  0.6 466460 14156 ?        S    21:50   0:00 php-fpm: pool www
www-data 12269  0.0  0.6 466460 14156 ?        S    21:50   0:00 php-fpm: pool www
www-data 12270  0.0  0.6 466460 14156 ?        S    21:50   0:00 php-fpm: pool www
root     12276  0.0  0.0  14428  1028 pts/1    S+   21:50   0:00 grep --color=auto php-fpm

参见

更多详细信息可以查看 PHP-FPM 调优:使用 ‘pm static’ 来最大化你的服务器负载能力

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!