讯奇消息网关服务器从北京迁移到无锡机房后,出现短信下发后,短信状态报告只接收到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.
当然这中间过程持续了2天时间才解决。
原文地址:http://swenzhao.blog.51cto.com/3451741/1705373