Мы использовали Apache с JBOSS для размещения нашего Приложения, но обнаружили некоторые проблемы, связанные с обработкой потоков в mod_jk.
Наш сайт работает на сайтах с низким трафиком и имеет максимум 200-300 одновременно работающих пользователей в период максимальной активности нашего сайта. По мере роста трафика (не с точки зрения числа одновременных пользователей, а с точки зрения совокупных запросов, поступивших на наш сервер), сервер на длительное время прекращал обслуживать запросы, хотя и не падал, но не мог обслуживать запрос до 20 минут. Консоль сервера JBOSS показала, что 350 потоков были заняты на обоих серверах, хотя было достаточно свободной памяти, скажем, более 1-1,5 ГБ (использовались 2 сервера для JBOSS, которые были 64-разрядными, 4 ГБ ОЗУ выделено для JBOSS)
Чтобы проверить проблему, мы использовали JBOSS и Apache Web Consoles, и мы увидели, что поток показывался в состоянии S в течение нескольких минут, хотя нашим страницам требуется около 4-5 секунд.
Мы взяли дамп потока и обнаружили, что потоки в основном находились в состоянии WAITING, что означает, что они ожидали бесконечно. Эти потоки были не из наших классов приложений, а из порта AJP 8009.
Может ли кто-нибудь помочь мне в этом, так как кто-то другой мог бы также получить эту проблему и решить ее каким-то образом. Если потребуется дополнительная информация, дайте мне знать.
Также mod_proxy лучше, чем использование mod_jk, или есть некоторые другие проблемы с mod_proxy, которые могут быть фатальными для меня, если я переключусь на mod__proxy?
Я использовал следующие версии:
Apache 2.0.52
JBOSS: 4.2.2
MOD_JK: 1.2.20
JDK: 1.6
Operating System: RHEL 4
Спасибо за помощь.
Ребята !!!! Мы наконец нашли обходной путь с конфигурацией, упомянутой выше. Это использование APR, и оно упоминается здесь: http://community.jboss.org/thread/153737. Его проблема, как правильно отмечали многие люди в ответах ниже, т.е. проблема с соединителем. Ранее мы сделали временный обходной путь, настроив спящий режим и увеличив время отклика. Полное исправление - APR.