记一次Nginx占用内存(Workermen)偏高的处理方法

故障分析

一个线上服务,每日用户访问量30万左右。

服务器内存使用量经常飙升到75%以上,异常定位到 Nginx占用内存(Workermen) 2048MB。

查看进程,发现大量的 nginx: worker process is shutting down

这是因为 nginx -s reload平滑重启,nginx维持websocket长连接,导致worker进程无法正常退出。

如何解决 worker长时间处于process is shutting down状态,不退出问题呢?

解决方案

新增 worker_shutdown_timeout 配置,该配置项在MAIN_CONF中,配置参数为时间。

worker_shutdown_timeout 120s;

表示:shutting down状态的worker在120s之后自动退出。

最后修改:2024 年 12 月 11 日 03 : 14 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论