疑难杂症:TCP服务器,长期运行后,客户端无法连接
TCP多线程服务器,一个线程监听,来一个连接就起一个线程处理。进程中有两个这样的服务器,监听不同的端口,端口A来的是长连接,端口B除了一个长连接之外,还接受每10秒2个的短连接。
连续正常运行20多天后(故障报上来的时候是28天多一点),telnet端口B失败,connect也失败。但端口B上的长连接工作正常(数据一直在走),端口A也正常,可以telnet,也可以connect。(两个TCP服务器是相同的代码,两个实例而已,唯一的区别就是监听端口不同,且端口B上多了每10秒2个的短连接)。
重启进程后(未重启操作系统),故障消除。重启前观察到:
端口B处于listening状态,netstat无TIME_WAIT的socket及其他异常连接;
操作系统的句柄数量正常(5k左右,与重启后一致);
CPU负荷正常(4%左右,与重启后一致)
补充:
操作系统是WindowsXP;
短连接客户端未主动断开,而是被服务器超时检查断开;
程序日志默认未开启端口B的连接日志记录(量太大)。此时若打开日志,需要重启进程才生效,就不知道要等多久才能抓到了;
另外,这个程序运行在几十台相同平台上,目前有两台出现这个问题(其中一台已经重启进程,另一台未重启,故障依然),其他的暂正常。
请大家帮忙看看,问题可能出在哪儿,还需要检查些什么(还有一台还没重启进程)。
连续正常运行20多天后(故障报上来的时候是28天多一点),telnet端口B失败,connect也失败。但端口B上的长连接工作正常(数据一直在走),端口A也正常,可以telnet,也可以connect。(两个TCP服务器是相同的代码,两个实例而已,唯一的区别就是监听端口不同,且端口B上多了每10秒2个的短连接)。
重启进程后(未重启操作系统),故障消除。重启前观察到:
端口B处于listening状态,netstat无TIME_WAIT的socket及其他异常连接;
操作系统的句柄数量正常(5k左右,与重启后一致);
CPU负荷正常(4%左右,与重启后一致)
补充:
操作系统是WindowsXP;
短连接客户端未主动断开,而是被服务器超时检查断开;
程序日志默认未开启端口B的连接日志记录(量太大)。此时若打开日志,需要重启进程才生效,就不知道要等多久才能抓到了;
另外,这个程序运行在几十台相同平台上,目前有两台出现这个问题(其中一台已经重启进程,另一台未重启,故障依然),其他的暂正常。
请大家帮忙看看,问题可能出在哪儿,还需要检查些什么(还有一台还没重启进程)。
...全文
相关推荐
Oracle12 Client在安装和使用的时候遇到的疑难杂症
Oracle12 Client在安装和使用的时候遇到的疑难杂症,进行逐一给出解决方案。 例如:安装时【INS-30131】错误、调试代码时[ORA-12154]错误、[ORA-12170]错误等
《Sysinternals实战指南》PsPing 学习笔记(14.3):服务器模式——自建探针与端到端延迟测试
本文介绍了PsPing工具的服务器模式应用,重点阐述如何通过自建探针实现端到端网络性能测试。文章首先对比了ICMP/TCP Ping的局限性,指出服务器模式能更精准测量延迟、抖动、丢包等指标。详细讲解了服务器模式的启动方法(psping -s端口)和客户端测试语法,并提供了多机房链路测试的典型场景示例。文中还分享了将服务器模式脚本化、制作链路基线记录等实用技巧,以及端口占用、防火墙配置等常见问题的排查方法。最后预告了后续将基于服务器模式展开TCP/UDP延迟和带宽测试的内容。全文突出服务器模式在网络诊断中的
TCP协议修复工具
TCP协议修复工具,有点老,XP和WIN7没有问题。其实通常用命令即可。
浅析电脑疑难杂症 jp.docx
浅析电脑疑难杂症
ASA防火墙疑难杂症与CiscoASA防火墙配置.docx
ASA防火墙疑难杂症与CiscoASA防火墙配置.docx


网络编程
