Проблемы установления связи SSL

Наше серверное приложение страдает от чрезмерной медлительности у некоторых клиентов. Эта медлительность решается перезапуском сервера, однако она возвращается через пару недель.

ЦП Java не работает. всегда около 100% (из 200%), все остальные параметры в порядке. Исследования показали, что большая часть ЦП используется потоком «HandshakeCompletedNotify-Thread». Из дампа tcp мы видим, что рукопожатие SSL занимает 2-8 секунд, что очень долго, иногда возникает таймаут.

Наш провайдер SSL - BSAFE. Сервер работает под Linux (CentOS), куча 640 МБ, 2 ядра. Используются спящий режим, Spring, локальная база данных Oracle

Что может быть причиной для такое поведение? Что можно сделать, чтобы их узнать?

PS Мы не можем переключить трафик на HTTP у наших клиентов.

Обновление: Система полностью освобождается, когда исходящие соединения java-процесса блокируются IP-таблицами. Какой ресурс освобождается в такой ситуации? Мы видим, что SSL Handshake часто застревает на этапе «изменить спецификацию шифра». Клиент (мой процесс Java) пытается повторно использовать сеанс SSL, но сервер полностью не имеет состояния, он каждый раз генерирует новый сеанс.

5
задан Artiom Gourevitch 11 April 2011 в 14:31
поделиться