В команде забыли про проблемы dev / release / dashboard errors, но мы потеряли в производительности:
— Время загрузки дашборда увеличилось до неприемлемых 30-120 секунд
— Cached версия - почти мгновенно, но! Просмотр дашборда с другими фильтрами (страна, город, сервис) - те же 30-120 секунд
— Количество запросов, необходимых для отображения дашбора выросло до 300
— Есть трудности со сбором объективной статистики по запускам дашборда (время загрузки)
Меры, которые я предпринимаю
— Ограничить количество строк в каждом запросе к БД, например
58 weeks ago for 6 weeks, 6 weeks ago for 6 weeks для Weekly + YoY— Установить политики кэширования (Looker datagroups), прогревать кэш перед встречей WBR (Looker schedules)
— Aggregate awareness - иметь мЕньшие, предагрегированные таблицы для быстро исполнения запросов
— Собрать статистику по запускам дашборда (из метаданных Looker):
# Dashboard Runs, Average Runtime, % Cached Queries
— Избавиться от Merge Queries там где это возможноЖелаемый результат
— Время загрузки дашборда 10-15 секунд (в том числе при изменении значений фильтров)
— Добиться того, чтобы значительная часть запросов использовала кэш (почти мгновенно)
— Производительность не снижается, если одновременно с дашбордом работают достаточно большое количество людей
Планирую сделать серию статей с подробностями, выводами и рекомендациями формата "Хабр".
🔥 Stay tuned
🌐 @data_apps | Навигация по каналу