详解nginx高并发场景下的优化

2019-10-17 17:25:07王振洲

-------------------------------------记一次小事故----------------------------------------------------

net.ipv4.tcp_tw_recycle = 1 这个功能打开后,确实能减少TIME-WAIT状态,习惯上我都会将这个参数打开。

但是也因为这个参数踩过一次坑:

公司的一个发布新闻的CMS后台系统,采用haproxy+keepalived代理架构,后端的real server服务器外网ip全部拿掉。

现象:在某一天早上发文高峰期,CMS后台出现访问故障,重启php服务后会立刻见效,但持续一段时间后,访问就又出现故障。

排查nginx和php日志也没有发现什么,后来google了一下,发现就是net.ipv4.tcp_tw_recycle这个参数捣的鬼!

这种网络架构对于后端的realserver来说是NAT模式,打开这个参数后,会导致大量的TCP连接建立错误,从而引起网站访问故障。

最后将net.ipv4.tcp_tw_recycle设置为0,关闭这个功能后,后台访问即刻恢复正常

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易采站长站。