Pull to refresh
4K+
3
Александр Босов@AlexBossov

User

13
Rating
Send message

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

Level of difficultyMedium
Reading time6 min
Reach and readers5.6K

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

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

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

Читать далее

Information

Rating
644-th
Works in
Registered
Activity

Specialization

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