1.如何管理进程,管理模式?
pm : 有三种动态,静态,按需
(1)最大:max_chidren:最多允许有多少个进程
(2)最大空闲,最小空闲:max_spare_servers,min_spare_servers,不干活的进程超过最大空闲时回收进程,保留到最小空闲数量.
(3)初始化启动多少个:start_servers(dynamic
有效)
怎么选?三个角度权衡
(1)管理进程的诞生和销毁是消耗cpu性能的
(2)但是内存是有限的一个php进程会持有一定的内存,如果空闲不销毁那么内存就被占用了,
(3)还有一个影响是如果来请求了,进程已经诞生那么处理速度快,不用再诞生
(4)计算大小:https://segmentfault.com/a/1190000015920273
但是我感觉还是通过原理实际调整(猜,测试)来会好些.
2.请求限制
max_requests:最大处理多少个请求就销毁重启一个
request_terminate_timeout : 最大执行时间,大于php.ini的最大执行时间,这样可以关闭某些特殊原因导致的php.ini没生效(插一句超时了会返回502,如果nginx配置超时了会返回504)
多长时间interaval内,出现多少threshold(信号报错)重启php
emergency_restart_threshold
emergency_restart_interval
pm.allowed_clients 允许访问的ip地址可以多个,只对listen tcp生效
3.错误日志
request_slowlog_timeout : 慢日志阈值
slow