на основе входного джейсона генерит набор sql, которые расчитывают показатели. Встал вопрос балансировки и управления ресурсами.
Как оценить сложность задачи и определить потребление ресурсов кликхауса?
Что пробуем:
- Оценить сложность формульно - не получилось. Json довольно сложный, много несвязанных объектов.
- Собрать датасет с фичами, понять как и какие ресурсы тратятся, сколько времени это занимает и тд. Обучить модель предсказаний. - Какие-то результаты есть, но довольно много времени сбор и формирование датасетов занимает. Есть ощущение, что сложный путь, который не факт что приведет к решению.
В результате есть желание получить некую цифру, которая будет отображать размер ресурсов ноды кластера в попугаях и уметь оценивать задачу в этих попугаях, тем самым не убивать кластер. Иметь представление какой клиент какую нагрузку дает на сервер в исследуемый интервал.
Может есть более простые решения, методики?
Вообще cloudflare пытались оценить с помощью машин лернинга планирование расширения кластеров. https://blog.cloudflare.com/clickhouse-capacity-estimation-framework/
Я как-то решал такую задачу. Попугаев там много. от стороны железа Размер/скорость дисков, производительность процессора / количество штук, размер/скорость памяти, пропусная спопобность сети. от данных Размер данных, их сжатие, частота попадания запроса в кеш, сложность запросов, их количество. Короче можно с обеих сторон перевести всё в попугаи и рассчитать примерно (для сферического коня в вакууме) как будет справляться конкретное железо с конкретным юзкейсом.
Обсуждают сегодня