查阅代码发现内存达到重启条件后执行了posix_kill($pid, SIGINT);
,看起来并不是平滑的重启
,随后我对这个猜想进行了验证
1、将重启内存阈值调低到30M
(memory_limit)
2、将内存检测周期由原来的60s
改为10s
3、程序内有意加载更多的文件,并存储于静态数组中
以上3点都是在原规则下,尽快和频繁的触发内存超限重启
1、直接在触发重启的位置来个输出
2、监控进程的内存使用情况来核对触发情况
3、压测日志,在频繁的重启中出现了错误的请求,概率是万分之一,但是看人品,运气差第一轮就会挂一个请求
4、重启日志
5、被压测的文件和方法