讯奇消息网关服务器从北京迁移到无锡机房后,出现短信下发后,短信状态报告只接收到60%左右。

通过了解业务逻辑后,通过haproxy的stats页面,看到统计状态如下:

wKioL1Yo1teRjTlCAALz6t6UF4g503.jpg在红圈中可以看到,最高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天时间才解决。