文章目录

php nginx 性能优化设置

由 kwor 发布

可以在/etc/php/7.3/fpm/pool.d下的www.conf文件配置如下信息。

pm = dynamic; 表示使用哪种进程数量管理方式

dynamic表示php-fpm进程数是动态的,最开始是pm.start_servers指定的数量,如果请求较多,则会自动增加,保证空闲的进程数不小于pm.min_spare_servers,如果进程数较多,也会进行相应清理,保证多余的进程数不多于pm.max_spare_servers

static表示php-fpm进程数是静态的, 进程数自始至终都是pm.max_children指定的数量,不再增加或减少

pm.max_children = 1000; 静态方式下开启的php-fpm进程数量

pm.start_servers = 20; 动态方式下的起始php-fpm进程数量

pm.min_spare_servers = 10; 动态方式下的最小php-fpm进程数量

pm.max_spare_servers = 100; 动态方式下的最大php-fpm进程数量

如果pm为static, 那么其实只有pm.max_children这个参数生效。系统会开启设置数量的php-fpm进程

一般来说nginx 配置文件中对优化比较有作用的为以下几项:

  1. worker_processes 8;

nginx 进程数,建议按照cpu 数目来指定,一般为它的倍数 (如,2个四核的cpu计为8)。

  1. worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;

为每个进程分配cpu,上例中将8 个进程分配到8 个cpu,当然可以写多个,或者将一个进程分配到多个cpu。

  1. worker_rlimit_nofile 65535;

这个指令是指当一个nginx 进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx 进程数相除,但是nginx 分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致。


暂无评论

发表评论