我们的客户之一使用Netscaler作为Fuse服务器和Tomcat托管软件之间的平衡器中间件。目前,我们的软件和netscaler之间正经历着奇怪的通信行为(我们正在使用Spring进行SOAP请求):一段时间后,由于正在向netscaler发出请求并等待响应,netscaler将向我们的服务器发送ACK、RST数据包,并因此抛出“连接重置”IOException。tcp转储如下:

根据netscaler,重置数据包的Win字段包含错误代码,在这种情况下是9300,这意味着‘清理空闲连接’,这反过来意味着netscaler运行“僵尸”进程,清除空闲连接,并且该进程已经将我们的连接识别为空闲。
为什么在这种情况下,netscaler将连接视为idle?
更新在这里是更完整的通信日志:

发布于 2015-12-01 11:23:53
服务器和重置数据包之间的时间增量是多少?您可以在netscaler上为空闲的客户端调优空闲超时值,对于需要很长时间响应的服务器也可以调优空闲超时值。
发布于 2015-12-03 06:12:48
好吧,这就是我读到的,有人说过:
keepalive数据包(探测),并在发送了几个数据包之后采取行动,而没有接收到来自另一方的响应。尽管我们的客户确实发现了隐藏在服务实现(长请求处理)中的更深层次的问题,但我们也可以应用保留活动探测方法来停止连接重置。
链接:
TCPConnectionManagementandProblemHandlingtheConnec-3.htm
https://stackoverflow.com/questions/34000012
复制相似问题