Я помогаю команде разработчиков в решении проблемы.
- В IBM WebSphere размещено веб-приложение.
- В целях сокращения затрат по причинам бизнесабыло принято решение сократить количество используемых процессоров серверов приложений с 2 до 1.
- Без каких-либо изменений в количестве пользователей, обращающихся к порталу, количество всплесков ЦП увеличилось с примерно 6 в год до, по крайней мере, 1 на каждыйнеделю.
- Расследование подтвердило, что причина скачков ЦП и сбоя приложения и / или ОС заключается в увеличении количества пользователей, обращающихся к нему в точке скачка.
Что, по-видимому, связано с нехваткой ресурсов процессора.
Нам необходимо исправить это с помощью практического решения.Запросы на увеличение ЦП до 2 были отклонены, и вместо этого их попросили предоставить техническое исправление.
Выполнено шагов:
- Добавлена дополнительная оперативная память
- Увеличена память кучи
- Изменены настройки JVM в соответствии с рекомендациями PMR
- Уменьшена частота сбора мусора
- Выполнена точная настройка производительности
- Оптимизирован исходный код
Даже после выполнения описанных выше шагов, когда число пользователей увеличивается выше определенного порога, ЦП все еще всплескивает и сервер / ОС приложений падает.
Протестировано кратко, временно увеличивая до 2 ЦПи сразу же пики ЦП и сбои приложений резко уменьшаются до согласованных приемлемых уровней.
Как решить эту проблему?
Можно ли что-то сделать, чтобы решить эту проблему, с тем чтобы уменьшить количество использования ЦПот 2 до 1, но все равно приложение работает без скачков или сбоев?
Я знаю, что этот вопрос очень субъективен и требует изучения логики исходного кода приложения.Предполагая, что код уже настроен настолько, насколько это возможно, вам нужен ваш совет / рекомендация о том, как это сделать.
Я постараюсь предоставить как можно больше запрашиваемой дополнительной информации.
Спасибо.
С уважением