PHP-FPM优化
php-fpm也是master/worker的工作方式,它有两个配置文件,一个php-fpm.conf,另一个是php-fpm.d/www.conf。安装后创建的默认配置文件中有详细的注释。只有几个www.conf中的配置需要注意一下。
选择是以何种方式管理,static静态模式,启动的子进程个数是固定的;dynamic动态模式,会在一个区间内动态变化,在这个模式下后面很多参数才会起作用。
pm.max_children = number
必填,最大子进程数(至少为1)。一定要注意php-fpm是阻塞模型,这个参数决定了服务器的服务能力。假设这个值设为1,某个请求请求了一个很耗时的php文件,那么其他的所有请求都会被挂起,直到这个请求被处理完才会被处理。
pm.start_servers = number
启动时启动的进程数。pm=dynamic下才有效,必须小于max_children。
pm.max_requests = number
默认0(不限制),当一个子进程处理了number个request之后会重启。这是因为php(或者第三方插件)可能发生内存泄漏,重启就把内存重置了= =|||| 还是设置一下比较好,但是这个值不要太小,否则可能出现某一时刻多个process都在重启,服务能力下降严重。