Зомби-соединения на сервере Tomcat при использовании mod_proxy_ajp

Я использую tomcat server 7 с модулем apache mode_proxy_ajp для обслуживания сайта. Вот мой коннектор ajp:

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" connectionTimeout="20000"
minSpareThreads="10" maxThreads="512" executor="tomcatThreadPool_1" acceptCount="128"
acceptorThreadCount="2" maxKeepAliveRequests="50" keepAliveTimeout="10000" URIEncoding="UTF-8"/>

& вот конфиг исполнителя:

<Executor name="tomcatThreadPool_1" namePrefix="catalina-exec-" connectionTimeout="20000"
minSpareThreads="10" maxSpareThreads="50" maxThreads="512" acceptCount="128"/>

теперь проблема в том, что много раз я вижу много соединений со статусом S (сервис) в менеджере tomcat (статус сервера), что-то вроде этого:

введите описание изображения здесь

эти соединения, кажется, открываются в течение длительного времени, но у них нет отправки или получения и даже фонового выполнения кода и потребления ЦП (поэтому я предполагаю, что мой код сервлета в порядке), они выглядят просто как некоторые зомби-соединения и не будут уничтожить до перезапуска сервера Tomcat (перезапуск сервера Apache и даже виртуальных хостов Tomcat через менеджер хостов на них не влияет)!
Я проверил все возможные параметры, но не смог найти источник этой проблемы.

1 ответ

Вероятно, это пул соединений в mod_proxy. Он откроет соединения с вашим внутренним сервером и оставит их открытыми для повторного использования. Вы можете настроить параметры как для mod_proxy (timeout, ttl и т. Д.) И Tomcat (connectionTimeout), так и для disablereuse в mod_proxy, который скажет ему не объединять соединения.

В целях устранения неполадок, я бы предложил настройки disablereuse=On, Это должно позволить вам действительно быстро подтвердить, что потоки, которые вы видите, остаются открытыми из-за настроек пула.

После того, как вы подтвердили проблему, вы можете оставить disablereuse=On или вы можете настроить параметры пула. Лично я предпочитаю disablereuse так как это легче настроить и легче устранять неполадки, когда есть проблема.

Кроме того, вопреки тому, что часто говорят о disablereuseЯ никогда не видел ощутимого влияния на производительность при его использовании. Ваш пробег может отличаться, поэтому, если вы включите этот параметр, вы должны быть готовы к мониторингу потенциального влияния на производительность.

Другие вопросы по тегам