Наше Java-приложение состоит из клиента и сервера. В нашей производственной среде установка соединения занимает много времени (~40 секунд).
Мы захватили сетевой трафик с помощью tcpdump и видим следующие пакеты при установлении соединения:
start client > server SYN
2 milliseconds later server < client SYN,ACK
38 *seconds* later client > server ACK
В других наших средах все три пакета происходят почти мгновенно.
Может ли кто-нибудь предложить, что может вызвать 38-секундную задержку, или предложить шаги для ее диагностики? Обратите внимание: поскольку это производственная среда, нам сложно вносить изменения в диагностический код.
Вот некоторые подробности о нашей среде:
- Клиент использует SocketConnector из Apache Mina 1.0.1, который внутренне использует java.nio.channel.SocketChannel.connect( ..).
- Клиент работает внутри IBM WebSphere 7.0.0.17.
- Версия Java = 1.6.0, компилятор Java = j9jit24, имя виртуальной машины Java = виртуальная машина IBM J9
- ОС - AIX, версия 6.1