2010-06-02 4 views
1

У нас есть приложение на основе Wicket Java, развернутое в кластере серверов с использованием Apache (2.2.3) с mod_jk (1.2.30) в качестве балансировки нагрузки компонент с липким сеансом и Jboss 5 в качестве контейнера приложений для Java-приложение.Wicket application + Apache + mod_jk - очереди AJP заполняются!

Мы непоследовательно видим проблему в нашей производственной среде, где наше AJP очереди между Apache и Jboss, как показан на консоли JMX завалить с запросами к точке, где сервер приложений больше не принимает о любых новых запросах , При просмотре всех задействованных компонентов системы (в целом трафик, загрузка db, список процессов db, загрузка всего кластерного сервера приложений ) ничего не указывает на проблему с пропускной способностью, которая объясняет, почему вызовы останавливаются в очереди AJP. Вместо этого все системы выглядят достаточно просто: .

До сих пор единственным нашим средством устранения этой проблемы является перезапуск диспетчера приложений и балансировщик нагрузки, который только время от времени очищает очереди AJP.

Мы пытаемся выяснить, почему очереди заполняются до такой степени, что никакие звонки не возвращаются конечному пользователю, хотя система не находится под высокой нагрузкой .

Есть ли у кого-нибудь другие подобные проблемы?

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

Является ли это потенциально проблемой mod_jk? Если да, целесообразно ли вы поменять mod_jk на mod_cluster, чтобы решить проблему?

Любые советы приветствуются. Если я могу предоставить дополнительную информацию ради устранения неполадок, я был бы более чем готов сделать это.

/Ben

+0

Рассмотрите mod_cluster (http://www.jboss.org/mod_cluster) вместо mod_jk для JBossAS 5+, это должно быть намного легче работать нормально, хотя я сам не пробовал (все еще застрял на AS 4.3 ....) – skaffman

ответ

0

Очень пахнет ситуацией тупика.

Я бы проверил количество подключений tomcat: если они также превышают максимальную, то почти на 100% уверены, что это связано с приложением или db.

Проверьте наличие блокировок в базе данных, когда это произойдет. Это может дать ключ.

Если вы используете Sessionful Session Beans в конце, я бы хорошо их посмотрел.

Смежные вопросы