訊奇消息網關伺服器從北京遷移到無錫機房後,出現短信下發後,短信狀态報告隻接收到60%左右。
通過了解業務邏輯後,通過haproxy的stats頁面,看到統計狀态如下:

在紅圈中可以看到,最高session數量已經到達4096,而我的haproxy.cfg檔案中的maxconn是2000.當然連接配接數是不夠的。其實後端短信伺服器上一直報錯,前台頁面伺服器也報錯,隻是大家沒有就這個問題溝通過。導緻這個問題持續了将近一個月才一起解決。
是以果斷修改為5000.重新加載配置,連接配接數上去了。但resp部分的reset連接配接還是持續上漲。為何呢?
使用ulimit -n檢視,發現open files 是預設的1024,果斷修改為50000,大一點也無法。觀察一段時間,發現雖然resp增長的速度降低,但還是有。再調整參數:
net.ipv4.tcp_fin_timeout = 5
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 10240 61000
修改完成後,再觀察一段時間,發現這下終于安靜的。resp一直保持為0.