Назад | Перейти на главную страницу

Weblogic интенсивное использование ЦП

Я использую Weblogic 10.3.4 + Oracle DB как на машинах Solaris (VM)

К сожалению, на прошлой неделе наше приложение, размещенное на Weblogic, стало очень-очень медленным, не имея возможности обслуживать приходящих новых пользователей (все длилось 1 час).

Чтобы выяснить причину, мы запросили отчеты с уровня ОС, уровня БД.

Показанные отчеты:

ТЕПЕРЬ кто был первым, курица или яйцо?

Очень медленная БД может привести к тому, что WEBlogic будет медленным и достигнет максимального числа подключений из пула.

Однако, если ЦП очень загружен, возможно, потоки, удерживающие соединения с БД, будут настолько заняты, что они не возвращают соединение с пулом (потому что процессор занят) ==> приходит новый клиент, новое соединение задано и так далее ... таким образом, пул соединений может быть исчерпан ...?

С уважением

Крис

Высокая загрузка ЦП часто вызвана сборщиком мусора java, который пытается собрать свободную память в пространстве кучи JVM, perm gen и т. Д. В этом случае вам необходимо добавить больше памяти, обычно в кучу JVM. Увидеть -Xmx Вариант JVM.

Когда загрузка ЦП в JVM высока, попробуйте выяснить, какой поток (-ы) использует ЦП. Во время проблемы создайте 2-3 дампов потока с pkill -3 java. Дампы потоков будут расположены (для Solaris) в /proc/<JVM_PID>/path/1

Если пул потоков достигнет своего предела, вы должны увидеть ошибки в журналах. Из-за этого загрузка ЦП не должна увеличиваться. Это среда, управляемая событиями и не требующая объединения.

Медленная БД может снизить загрузку ЦП на сервере приложений. Зависит от того, как запрограммировано / настроено приложение.