Диагностика медленных запросов БД из Rails приложения — Ruby Meetup — Evrone х Купер.тех

Описание к видео Диагностика медленных запросов БД из Rails приложения — Ruby Meetup — Evrone х Купер.тех

Разберем базовый тулинг, который предлагает Rails для выявления медленных запросов, а также его расширение в виде yabeda-active_record гема для сбора метрик и расширенный вариант, включающий в себя метрики нагрузки на БД в разрезе конкретных эндпойнтов. Коснемся вопроса вычисления эффекта от оптимизаций и прогнозирование такого эффекта через OpenTracing.

Подписывайтесь на наш канал здесь и в телеграмм https://t.me/meetups_evrone, чтобы быть в курсе будущих митапов и не пропускать полезные доклады!

Спикер: Дмитрий Салахутдинов, Купер.тех

Таймкоды
00:00 Введение
02:37 Rails instrumentation API
03:34 Событие process_action
04:13 Гистограмма rails_db_runtime_seconds
04:47 Нагрузка на БД
08:04 Методики оценки и принятия решений
08:53 Роадмап оптимизации
09:43 Вариант оптимизации: ускорение запросов
11:20 Событие sql.active_record
11:58 Вариант оптимизации: перевод нагрузки на реплики
12:33 Marginalia gem
13:00 query_log_tags в Rails 7
13:38 Получение компонента из контекста
14:13 Роадмап оптимизации v2
14:47 Дополнительно query_type
15:27 Нагрузка по чтению с мастер БД
16:37 Издержки калькуляции
18:30 Вариант оптимизации: декомпозиция монолита с вынесением нагрузки на сервис
18:55 Определение контекста для выноса
19:44 Прогнозирование эффекта
20:30 Считаем метрики нагрузки в разрезе таблицы
21:19 Почему метрики неудобны?
22:29 OpenTracing & Jaeger
23:08 Расчет на основе данных из ОТ
23:59 Jaeger Trace Retrieval API
24:10 План работ по этапам
25:32 Выводы
26:30 Q&A сессия

Комментарии

Информация по комментариям в разработке