1 php-fpm运行一段时间后会有内存泄露的问题,所以下面的参数不能设得太高
max_requests=512
Warning!此参数有可能导致连接间歇性重置
这个参数的意思是当前php-fpm进程处理了512个请求后会重启这个进程,这样可以释放之前占用的资源。在实际生产环境中php内存泄露还是比较严重的。
2 如果php不稳定,有时会异常退出,下面的配置可以监控,如1分钟内超过10次异常,将自动平滑重启fpm
emergency_restart_threshold = 10
emergency_restart_interval = 1m
3 并发进程管理和数量。推荐直接使用static,因为动态要复杂的计算才能知道有什么效果,如果内存足够,直接设置固定进程数量比较好。max_children的数量按单进程35M计算,max_children就是=空闲内存/35M,要多留一些富余的内存。内存如果运行一段时间比较稳定后,可以适当调大max_children,将并发处理数量提高一些。
pm = static
#此值不能过大,如果查看php错误日志发现内存不足,要降低此值
pm.max_children = 256
4 要减少单进程使用的内存量,编译时优化一些参数,将不必要的组件去掉。
lsof -p 进程id
查下找开的文件,删减一些没必要的打开
5 并发请求数量,还依赖于cpu内核数量,内核越多并发越高
6 并发处理数量,还依赖于数量库和php本身程序的优化,如果业务处理时间越短,相对来讲并发数量就越高,如果业务处理缓慢导致卡顿,容易产生雪崩效应。