У меня проблема с apache, который тормозит из-за слишком большого количества запросов. Когда я смотрю на страницу состояния сервера, я вижу, что большинство соединений находятся в состоянии «Запрос на чтение», но не завершаются. Когда я выполняю плавный перезапуск, все соединения «Запрос на чтение» исчезают. Поскольку перезапуск не занимает много времени, я вера соединения больше не используются.
Apache заполняется этими запросами в течение некоторого времени (> 30 минут). Но когда соединения больше не используются, я бы ожидал, что некоторый тайм-аут уничтожит эти соединения, но этого не происходит или тайм-аут слишком велик.
Кто-нибудь знает, какой тайм-аут должен убивать эти соединения, или я ищу не в том месте?
Некоторые подробности настройки:
apache 2.0.55 на HP-UX с mod_jk 1.2.10
Большинство подключений в состоянии «Запрос на чтение» - это подключения к бэкэнду tomcat через mod_jk (клиент -> HP-UX apache -> Tomcats), но не все из них.
Я знаю, что mod_jk - очень старая версия, скоро ее планируется обновить.
Но я не подозреваю mod_jk, потому что тот же эффект появляется при перенаправлении соединений на другой apache с более новым mod_jk, а затем перенаправлении соединений на tomcats (клиент -> HP-UX apache -> Linux apache -> Tomcats). Это всегда апач HP-UX, заполненный "RR" -соединениями.
Каково содержимое вашего файла worker.properties? Вы пытаетесь использовать socket_timeout?
socket_timeout 0 Socket timeout in seconds used for the communication
channel between JK and remote host. If the remote host
does not respond inside the timeout specified, JK will
generate an error, and retry again. If set to zero
(default) JK will wait for an infinite amount of time on
all socket operations.
По умолчанию socket_timeout бесконечен.
Каковы значения тайм-аута для Apache в httpd.conf? И поддержка активности включена или выключена? Слишком долгий TimeOut легко приведет к тому, что вы сейчас видите.