jakarta ee在Java应用程序中非常慢的TCP握手
我们的Java应用程序由一个客户端和一个服务器组成。在我们的生产环境中,建立连接需要很长时间(约40秒)
我们使用tcpdump捕获网络流量,在建立连接时可以看到以下数据包:
start client > server SYN
2 milliseconds later server < client SYN,ACK
38 *seconds* later client > server ACK
在我们的其他环境中,所有三个数据包几乎都是瞬间发生的
谁能提出38秒延迟的原因,或提出诊断步骤吗?请注意,由于这是一个生产环境,我们很难更改诊断代码
以下是有关我们环境的一些详细信息:
- 客户端使用来自Apache Mina1.0.1的SocketConnector,它在内部使用java。尼奥。频道袜子退火。连接(…)李>
- 客户机在IBM WebSphere 7.0.0.17内部运行
- Java版本=1.6.0,Java编译器=j9jit24,Java虚拟机名称=IBM J9虚拟机
- 操作系统是AIX,版本6.1
# 1 楼答案
您的描述符是否已用完和/或TCP接受队列是否已满