Jboss замедляется через некоторое время - PullRequest
17 голосов
/ 29 марта 2011

В двух словах: мой экземпляр JBoss работает нормально, но через несколько дней его производительность постепенно снижается.

Подробное: У меня есть настройки с JBoss 5.1.0-GA и Java 1.6.0_18-b07 (x64), работающие на 64-битном RHEL 4-боксе. Аппаратное обеспечение представляет собой виртуальную машину с 8-ядерным процессором Xeon X5550 / 20G.

Продукт, развернутый в JBoss, содержит веб-сервис, на котором выполняется тест на выносливость. База данных не вовлечена в процесс.

Тесты выполняются с использованием soapui с четырьмя потоками, и тесты настроены на использование процессора 20%.

Допустим, сначала среднее время ответа составляет 300 мс. Через 2 дня время отклика теперь 600 мс, что я не понимаю. Конечно, я сделал несколько проверок:

  • Нет утечек памяти (подтверждено с помощью jprofiler)
  • Память кучи всегда составляет около 25-50%, использование свободного пространства - 50%
  • GC почти никогда не занят
  • Все потоки бездействуют после проверки дампа потока

В то время как я делаю некоторые дальнейшие исследования, я делал профиль процессора с JProfiler в начале (когда он все еще быстр), и включал (медленный) конец. Тогда я вижу, что каждый отдельный звонок на 100% медленнее! Даже вызов простой карты # put (). (количество вызовов и содержание этих карт одинаковы). При запуске профилировщика нет никаких признаков заблокированных потоков, только запущенные потоки.

Кто-нибудь знает, что вызывает снижение производительности? Спасибо!

<ч /> Обновление: устранено снижение производительности путем обновления версии Java до 1.6.0_24!

Несмотря на то, что у меня не было выбора, я просмотрел все заметки о выпуске java vm и обнаружил исправление производительности и надежности в 1.6.0_23. Смотрите также 1.6.0_23 примечания к выпуску

После обновления jvm производительность остается неизменной и не снижается в течение нескольких дней.

1 Ответ

6 голосов
/ 03 апреля 2011

Решение, найденное Яном:

Устранено снижение производительности путем обновления версии Java до 1.6.0_24!

ХотяВне возможностей я просмотрел все заметки о выпуске java vm и обнаружил исправление производительности и надежности в 1.6.0_23.См. Также примечания к выпуску 1.6.0_23

После обновления jvm производительность остается неизменной и не снижается в течение нескольких дней. *

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