← Все новости
Мониторинг баз данных. Как мы трижды переписывали плагин трассировки, чтобы не положить прод

Мониторинг баз данных. Как мы трижды переписывали плагин трассировки, чтобы не положить прод

Привет, Хабр! Меня зовут Артем Абакумов, я разработчик СУБД РЕД База Данных в РЕД СОФТ.Представим, что на проде виснет база. Счет идет на секунды, а утилиты мониторинга системы с красивой визуализацией показывают, как сервер медленно умирает из-за нехватки ресурсов. Чтобы выяснить, какое именно подключение (и каким SQL-запросом) все положило, приходится лезть в логи, запускать трассировку и ковыряться в файлах, пытаясь восстановить хранологию соыбтий. Проблема давно насущаная, поэтому мы решили создать инструмент, который будет непрерывно собирать все метрики, влияющие на работу базы данных, и при этом не тормозить систему. Звучит как отличная идея, но на пути к правильной архитектуре нам пришлось все трижды переписывать, воевать с разделяемой памятью и изобретать свои lock-free механизмы. В этой статье я расскажу историю наших архитектурных граблей и итоговое решение. Читать далее