Pull to refresh
2
Александр Босов@AlexBossov

User

Send message

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

Level of difficultyMedium
Reading time6 min
Reach and readers7.4K

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

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

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

Читать далее

Information

Rating
Does not participate
Works in
Registered
Activity

Specialization

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