Я использую Wildfly 8.2 и запускаю ряд запросов БД при открытии определенной веб-страницы. Все запросы вызывают через API-интерфейс JPA, возвращают результаты как ожидалось - и - ни одно из них не выдает предупреждение, ошибку или исключение. Все это работает в Parallel Plesk.
Теперь я заметил, что в течение 2 - 3 дней появляется следующая ошибка, и сайт становится невосприимчивым. Я перезагружаюсь, и я жду около 3 дней, пока это не повторится (в зависимости от количества запросов, которые у меня есть).
Я проверил tcpsndbuf на моем Linux-сервере, и я заметил, что он постоянно на максимуме. Если я не перезапущу Wildfly. По-видимому, он не может освободить соединения.
Соединения управляются JPA/Hibernate и контейнером Wildfly. Я не занимаюсь специальной обработкой транзакций, например, открыто закрыто. и т.д. Я оставляю все это в Wildfly.
Используемый мной драйвер MySQL - это 5.1.21 (mysql-connector-java-5.1.21-bin.jar)
В файле standalone.xml я определил следующие значения источника данных datasource (среди прочих):
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
<pool>
<min-pool-size>3</min-pool-size>
<max-pool-size>10</max-pool-size>
</pool>
<statement>
<prepared-statement-cache-size>32</prepared-statement-cache-size>
<shared-prepared-statements>true</shared-prepared-statements>
</statement
Кто-нибудь испытывает одинаковое повышение значений tcpsndbuf (или этой ошибки)? Сообщите, если вам требуется больше файлов конфигурации или журнала. Спасибо!
UPDATE Несмотря на следующие дополнительные настройки тайм-аута, он все еще попадает в вешалку. И таким образом, он будет использовать 100% процессорное время, когда достигается максимальный tcpsndbuf. ,