Индексы настроены. Запросы оптимизированы. Всё равно тормозит. Что дальше?

Базы данных и системы хранения

Программный комитет ещё не принял решения по этому докладу

Целевая аудитория

Разработчики 1С, DBA PostgreSQL, архитекторы высоконагруженных систем, тимлиды команд 1С.

Тезисы

200 менеджеров одновременно выставляют счета в час пик. Вы переписали все запросы, настроили индексы по планам, секционировали таблицы, поставили NVMe. А проведение документа всё равно 5 секунд. Почему? Потому что есть класс задач, где индексы не убирают стоимость повторного расчёта. Когда 200 пользователей одновременно запрашивают один и тот же агрегат по регистру накопления, СУБД выполняет одну и ту же работу 200 раз. Индексы ускоряют доступ к данным, но не отменяют саму агрегацию. Решение - посчитать один раз и отдать из кэша. В этом докладе я покажу: - Почему индексов недостаточно для повторяющихся агрегатов - Архитектуру Cache-Aside с Redis и инвалидацией по событиям - Реальные цифры с боевого проекта: p95 с 3.8 сек до 22 мс, нагрузка на СУБД минус 85% - Как кэш живёт с РИБ и обменами - Circuit Breaker при падении Redis - система не падает, а деградирует - Когда кэш действительно нужен, а когда нет - Дам репозиторий: Redis, PostgreSQL, нагрузочный тест на 200 пользователей

Работаю Главным разработчиком в Центре экспертизы Магнита
(очень широкий стек технологий)
В мире 1С с 2002 года
Начинал с 1С 7.7

Видео

Другие доклады секции

Базы данных и системы хранения