Блог · 2026-08
Ускорение Кассы, Отчётов, ЗП и Настроек
5 августа 2026: лёгкий первый запрос зарплаты, кэш сводки кассы, быстрее дашборд отчётов и настройки без загрузки всей таблицы parts.
5 августа 2026: ускорение «тяжёлых» разделов CRM. Меню ни при чём — тормозили запросы и объём данных на самой странице.
Что было медленно
| Раздел | Проблема |
|---|---|
| Зарплата | При открытии API дергался несколько раз; в одном ответе сразу сверка с кассой, детализация прибыли по сотням заявок и список «не в ЗП» |
| Касса | Сводка каждый раз заново сканировала историю; DATE(колонка) мешала индексам |
| Отчёты | Дашборд сразу тянул profit/analytics; кэш жил всего 60 секунд |
| Настройки | На каждый GET подгружалась вся таблица запчастей, хотя вкладкам настроек она не нужна |
Что сделали
Зарплата
- Первый запрос — лёгкий (
сотрудники+ итоги периода). - Сверка кассы, детализация прибыли и «не в ЗП» — вторым запросом после отрисовки таблицы.
- Прибыль по заявкам считается пачкой SQL, а не сотнями отдельных вызовов.
Касса
- Сводка кэшируется ~45 секунд (Redis или память воркера).
- Фильтр по датам — полуоткрытый интервал без лишнего
DATE(...). - После создания/отмены операции кэш сбрасывается.
Отчёты
- Кэш сводного дашборда продлён до ~3 минут.
- На серверном рендере страницы не считаются тяжёлые блоки profit/analytics (их по-прежнему можно открыть отдельными отчётами / API).
Настройки
- Справочники берутся из уже кэшированных
get_*. - Таблица
partsна открытие настроек не загружается.
Что проверить
/salary— таблица сотрудников появляется быстрее; блоки сверки/детализации догружаются следом./finance/cash— повторное открытие за тот же день заметно отзывчивее./reports/dashboardи/settings— быстрее первый ответ страницы.
Для админов
На среде с Redis после выката достаточно перезапуска web. Отдельный FLUSHDB не обязателен: у сводки кассы свой префикс кэша и инвалидация при операциях.