Сокеты в CLOSE_WAIT из Jersey Client

Я использую Jersey 1.4, ApacheHttpClient , и класс Apache MultiThreadedHttpConnectionManager для управления подключениями. Для HttpConnectionManager я установил staleCheckingEnabled на true, maxConnectionsPerHost на 1000 и maxTotalConnections на 1000. Все остальное по умолчанию. Мы работаем в Tomcat и устанавливаем соединения с несколькими внешними хостами с помощью клиента Jersey.

Я заметил, что через небольшой промежуток времени я начну видеть сокеты в состоянии CLOSE_WAIT, которые связаны с процессом Tomcat. Некоторый мониторинг с помощью tcpdump показывает, что внешние хосты через некоторое время закрывают соединение, но с нашей стороны оно не закрывается. Обычно в очереди чтения сокета есть некоторые данные, часто 24 байта. Соединения используют https, и данные кажутся зашифрованными, поэтому я не уверен, что это такое.

Я проверил, что создаваемые объекты ClientRequest закрыты. Сокеты в CLOSE_WAIT, похоже, перерабатываются, и у нас не заканчиваются какие-либо ресурсы, по крайней мере, в настоящее время. Я не уверен, что происходит на внешних серверах.

Мой вопрос: нормально ли это, и следует ли мне беспокоиться?

Спасибо,

Джон

8
задан John in MD 11 January 2011 в 19:48
поделиться