Обновить
4K+
3
Александр Босов@AlexBossov

Пользователь

12
Рейтинг
Отправить сообщение

Не подавать холодным! Прогрев JVM перед запуском трафика

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели5.4K

Всем привет! Меня зовут Александр, я бэкенд-инженер в Банки.ру.

Пару месяцев назад мы поймали проблему, которая жила у нас довольно долго и которую мы упорно списывали на случайность. После каждой выкатки сервис первые несколько минут отвечал заметно медленнее обычного, а потом сам собой приходил в норму. Ушло около десяти релизов, прежде чем мы перестали считать это совпадением, и еще пара дней, чтобы найти настоящую причину. Ей оказался холодный старт JVM, а точнее то, что Kubernetes пускал на новые поды боевой трафик раньше, чем они были к нему готовы.

Дальше расскажу, что мы видели на графиках, какие версии проверили и отбросили, что происходит внутри JVM в первые минуты жизни процесса и что мы сделали.

Читать далее

Информация

В рейтинге
691-й
Работает в
Зарегистрирован
Активность

Специализация

Бэкенд разработчик
Старший
Java
Spring Boot
SQL
Git
Docker
Базы данных
Apache Kafka
Высоконагруженные системы
Redis
Kubernetes