RSS Stories by Pinterest Engineering on Medium
Подписаться
Отладка ошибки, случающейся раз в миллион: миграция инфраструктуры поиска Pinterest на Kubernetes
Инфраструктура поиска Pinterest, Manas, была мигрирована на Kubernetes, но была обнаружена проблема с производительностью: один из миллиона поисковых запросов занимал в 100 раз больше времени, чем обычно. Проблема была исследована, и выяснилось, что причиной является процесс мониторинга cAdvisor. cAdvisor каждые 30 секунд сканировал всю таблицу страниц для расчета общего объема памяти, к которому обращался процесс, что вызывало конфликт с ресурсоемкой обработкой конечных узлов в Manas. Это приводило к скачкам задержки в поисковых запросах. Расследование включало профилирование поисковых систем, отладку проблем производительности, изучение функций ядра Linux и управления памятью. Первопричиной было определено оценивание размера рабочего набора (WSS) cAdvisor, которое было включено по умолчанию и вызывало конфликты памяти. Проблема была решена путем отключения оценивания WSS cAdvisor для всех узлов PinCompute. Это исправление стало важной вехой для платформы Kubernetes Pinterest, позволив перенести на нее другие онлайн-сервисы. Расследование подчеркнуло важность изоляции ресурсов, сужения области проблемы и использования стратегий отладки "черного ящика". Этот опыт также показал, что иногда достаточно "достаточно хорошего" решения, и нет необходимости находить идеальное решение, чтобы двигаться вперед.