У меня есть процесс java на машине A, общающийся с Tomcat на машине B через TCP. TCP-соединение (только обмен syn-syn/ack) принимает последовательность 100 мс последовательно, в то время как запрос ping занимает 1 мс (сервисы находятся в одной локальной сети).TCP Connect занимает X100 дольше, чем ping
- Что может вызвать увеличение задержки при установлении соединения TCP?
- Как его оптимизировать?
Обратите внимание, что:
- Это еще не является 3-полосная-рукопожатие, я измерения только обмен син/син-Ack.
- Сервер - очень прочная машина, а не под нагрузкой.
- Запрос на подключение - это IP-адрес, а не имя хоста, поэтому поиск DNS не выполняется. На самом деле это не имеет значения, так как я измеряю время синуса SYN, оставленного машиной A.
Вы пытались подключиться к другим портам на одной машине? Таким образом, вы могли бы решить, будет ли это сетевой стек или Tomcat. –
Даже если вы используете IP-адреса, вы можете указать конечную точку B, чтобы попытаться решить проблему обратного IP-адреса. Добавляет ли имя A в локальный DNS (/ etc/hosts) B что-нибудь изменить? – diciu
diciu - это не то, как работает TCP. SYN/ACK не будет выполнять разрешение DNS. – ripper234