Проблема с производительностью в Websphere8.5

Мы перенесли веб-приложение с jsf1.0 на 1.2 и развернули в Websphere 8.5. Приложение EArlier было развернуто в Websphere6.0. Во время тестирования SOAK мы сталкиваемся с проблемой производительности. Получил некоторое сообщение о зависании потока в логах sysout, также я наблюдаю много блокирующих потоков в файле дампа потока, и он выпущен вовремя. Производительность приложений снижается во времени. я вижу, что проблема производительности остается той же, даже если приложение простаивает в течение 1 дня.

Основная проблема связана с высокой загрузкой процессора и высокой JVM-памятью, даже если приложение не используется в течение 1 дня. Приложение работает быстро после перезагрузки сервера. Разве GC не очистит память JVM за 1 день или почему этот процессор высок?

1 ответ

Высокая загрузка процессора с низкой / снижающейся пропускной способностью приложений типична для откачки Java-кучи, когда JVM тратит большую часть своего времени на работу GC, пытаясь очистить пространство в куче для выполнения реальной работы. Вы должны включить подробное ведение журнала GC, в журнале GC будет отображаться состояние кучи и активность GC. Если куча ниже 10% срока владения / свободной от OldGen (при условии использования сборщика gencon по умолчанию) после глобальной / полной GC, вы находитесь в состоянии исчерпания кучи.

Вы можете попытаться увеличить размер кучи, возможно, ему просто нужно больше места, чем предусмотрено в данный момент. Если использование кучи (использованный срок использования после глобального) продолжает расти со временем, когда предлагаемая рабочая нагрузка является постоянной / постоянной, то приложение, вероятно, имеет утечку памяти. Объекты, накапливающиеся в куче, можно увидеть, взяв дамп ядра / системы, когда сервер находится в состоянии, близком к выходу из кучи, и изучив дамп с помощью, например, Eclipse Memory Analyzer.

Другие вопросы по тегам