如果最近遇到一个现象,当日志看到 Maximum connections queued reached (10000) 队列满,但访问量小后,端口依然无法访问,只能重启TongWeb解决时,这多半是产品bug,近期已有几家银行,证券遇到这个问题。问题原因见附件说明, 解决办法:
1.默认NIO2改为NIO。
2. 针对不同版本,向开发提制作 NIO2线程池的补丁。附件仅是针对TongWeb7.0.4.3的补丁。
郑商所8080无法访问问题说明
一、问题的定位
1.1 锁定问题的分析过程:
- 根据复现材料,可以看到以下线索:
网络状态分析:
8080通道对应的连接都是CLOSE_WAIT的状态,产生此问题的原因是客户端主动断开连接,而服务端由于socket状态异常而无法关闭此连接。
日志分析:
通过以上应用日志可以看到,应用中出现很多websocket连接异常,并且由此导致客户端连接断开。TW服务端日志中的ClientAbortException异常验证了这一点,该异常就是客户端主动断开连接才会报的异常信息。
TongWeb的server.log: