Миграция на Kubernetes прошла успешно… почти. А потом каждый миллионный запрос начал рабоатть в 100 раз медленнее. Звучит как довольно редкий баг, но команде Pinterest посчастливилось его поймать.
Инженеры долго искали виновника: проверяли ноды, копались в
cgroups и безрезультатно отключали CPU pinning. Только глубокое расследование вывело их на виновника — cAdvisor, компонент мониторинга Kubernetes.Дело в том, что
cAdvisor запускал метрику container_referenced_bytes, которая принудительно сбрасывала accessed-биты в памяти. Это вызывало TLB-флеши и тормозила поисковый движок Pinterest. Историю, полную боли, багов и отладки на грани отчаяния можно прочитать по ссылке.Желаем всем, кто отдыхает, хороших выходных, а тем, кто дежурит — спокойных смен без серьёзных алертов!
#devops #пятничное_чтиво #debugging
