Профайлер запросов в ClickHouse С++
Студент ФКН ВШЭ.
Участвовал в разработке Stepik.org, Яндекс Учебник и Facebook Workplace.
Разрабатывал распределенные offline-расчеты в рекламе Яндекса. ClickHouse contributor.
ClickHouse не тормозит и, чтобы обеспечить это, мы должны быстро обрабатывать запросы на всех стадиях выполнения.
Мы провели множество низкоуровневых оптимизаций и выбрали наиболее эффективные из известных алгоритмов, затачивая их под схему данных ClickHouse, чтобы они становились еще быстрее.
Несмотря на это, каждый раз когда запрос выполняется, мы спрашиваем себя: “Почему так долго? Почему 5 миллисекунд, а не 1, на что тратится это время?”.
Чтобы отвечать на такие вопросы, мы разработали профайлер для запросов ClickHouse, который позволяет определить, какой участок кода тормозит для конкретного запроса.
О том, как он устроен, как не выстрелить 17-ым регистром себе в ногу, побороть нерестартующие системные вызовы и заставить низкоуровневую библиотеку проходить sanitizers, вы сможете послушать в моем докладе.