Deckhouse Prom++: как команда сжала Prometheus в 6 раз, сэкономив 89% памяти
Утренние метрики показывали 3,8 ТБ занятой памяти в кластерах Prometheus. К вечеру этот объем сократился до 0,6 ТБ. Между этими двумя точками — внедрение Deckhouse Prom++, проекта, который радикально переосмыслил хранение данных мониторинга. Разработчики потратили месяцы на глубокий анализ и создание собственных структур данных на C++, где экономия каждого байта и борьба за каждую наносекунду производительности стали ключевыми принципами.
В основе проекта лежит комплексный подход к оптимизации. Для специфических данных были созданы разнообразные энкодеры, применяется вектор с «дырками» и упакованные структуры. Это не просто настройка существующего ПО, а разработка с нуля, направленная на устранение избыточности и неэффективности в хранении временных рядов. Все детали реализации, включая технические решения, теперь доступны в открытом исходном коде.
Результат — сокращение потребления памяти на 89%, что напрямую переводится в значительную экономию на инфраструктуре мониторинга для крупных развертываний. Проект Prom++ уже готов к использованию и предлагает реальную альтернативу для компаний, чьи расходы на хранение и обработку метрик становятся существенной статьей затрат. Это пример того, как глубокая инженерная работа над фундаментальными компонентами может привести к прорывной эффективности в облачных и DevOps-стэках.