К содержанию
Nika CRM

Блог · 2026-08

Ускорение Кассы, Отчётов, ЗП и Настроек

5 августа 2026: лёгкий первый запрос зарплаты, кэш сводки кассы, быстрее дашборд отчётов и настройки без загрузки всей таблицы parts.

5 августа 2026: ускорение «тяжёлых» разделов CRM. Меню ни при чём — тормозили запросы и объём данных на самой странице.

Что было медленно

Раздел Проблема
Зарплата При открытии API дергался несколько раз; в одном ответе сразу сверка с кассой, детализация прибыли по сотням заявок и список «не в ЗП»
Касса Сводка каждый раз заново сканировала историю; DATE(колонка) мешала индексам
Отчёты Дашборд сразу тянул profit/analytics; кэш жил всего 60 секунд
Настройки На каждый GET подгружалась вся таблица запчастей, хотя вкладкам настроек она не нужна

Что сделали

Зарплата

  • Первый запрос — лёгкий (сотрудники + итоги периода).
  • Сверка кассы, детализация прибыли и «не в ЗП» — вторым запросом после отрисовки таблицы.
  • Прибыль по заявкам считается пачкой SQL, а не сотнями отдельных вызовов.

Касса

  • Сводка кэшируется ~45 секунд (Redis или память воркера).
  • Фильтр по датам — полуоткрытый интервал без лишнего DATE(...).
  • После создания/отмены операции кэш сбрасывается.

Отчёты

  • Кэш сводного дашборда продлён до ~3 минут.
  • На серверном рендере страницы не считаются тяжёлые блоки profit/analytics (их по-прежнему можно открыть отдельными отчётами / API).

Настройки

  • Справочники берутся из уже кэшированных get_*.
  • Таблица parts на открытие настроек не загружается.

Что проверить

  1. /salary — таблица сотрудников появляется быстрее; блоки сверки/детализации догружаются следом.
  2. /finance/cash — повторное открытие за тот же день заметно отзывчивее.
  3. /reports/dashboard и /settings — быстрее первый ответ страницы.

Для админов

На среде с Redis после выката достаточно перезапуска web. Отдельный FLUSHDB не обязателен: у сводки кассы свой префикс кэша и инвалидация при операциях.

← Все записи блога · Документация