Админка тормозит при большом каталоге: причины и что делать

Про скорость сайта говорят обычно со стороны посетителя: страница грузится долго, человек уходит, заявка не приходит. Но есть вторая сторона, о которой почти не пишут, — скорость админки. Той самой панели, в которой сотрудники компании каждый день заводят товары, меняют цены, публикуют новости и обрабатывают заказы.
Когда каталог разрастается до десятков тысяч позиций, админка начинает открываться по двадцать секунд, сохранение товара занимает минуту, а поиск по заказам просто отваливается по времени ожидания. Дальше происходит предсказуемое: сотрудники перестают обновлять каталог. Цены устаревают, наличие не соответствует действительности, новые товары не заводятся неделями. И вот это уже напрямую превращается в потерянные обращения и сорванные заказы.
Разберём, почему админка тормозит и что с этим можно сделать.
Почему это проблема бизнеса, а не техников
Соблазн отнестись к медленной админке как к внутреннему неудобству велик: «ну потерпят, зато посетителям быстро». На практике связь прямая.
Каталог перестают обновлять. Если завести один товар занимает пять минут ожидания, менеджер заведёт три вместо тридцати. Ассортимент на сайте начинает отставать от реального.
Наличие становится неверным. Человек оформляет заказ, потом ему звонят и говорят, что товара нет. Это не просто потерянная продажа — это испорченное впечатление и вероятный отзыв.
Цены отстают. Особенно больно в нишах, где закупочные цены меняются часто. Клиент считает по сайту, а платит больше.
Заказы обрабатываются медленно. Если открыть карточку заказа — это полминуты ожидания, менеджер обрабатывает вдвое меньше обращений за смену.
Ошибки от усталости. Человек, работающий в тормозящем интерфейсе, чаще ошибается: жмёт не туда, не дожидается сохранения, теряет введённое.
Сотрудники начинают вести учёт мимо сайта. Появляются таблицы «на стороне», и сайт окончательно расходится с реальностью.
Итог измеряется в обращениях: устаревший каталог даёт меньше заказов и больше отказов после звонка.
Основные причины медленной админки
Причин обычно несколько сразу, и разбирать их нужно по очереди.
Запросы к базе данных без нужных указателей
Самая частая причина при большом каталоге. Когда позиций сотня, база перебирает их мгновенно даже без всякой оптимизации. Когда позиций сто тысяч, каждый список товаров превращается в полный перебор таблицы.
Проявляется характерно: список товаров в разделе открывается долго, а конкретный товар по прямой ссылке — быстро. Или: поиск по названию работает, а фильтр по нескольким полям сразу висит.
Лечится добавлением указателей на поля, по которым идёт отбор и сортировка. Это работа администратора базы данных, но эффект часто драматический: список, открывавшийся сорок секунд, начинает открываться за две.
Отдельная беда — самописные доработки, добавленные когда-то подрядчиком. Дополнительное поле, по которому фильтруют товары, часто добавляют без указателя, и оно становится узким местом.
Разросшиеся служебные таблицы
В любой системе управления накапливаются данные, которые никто не чистит: журнал действий пользователей, история изменений, сессии, временные файлы, статистика, очереди задач, корзины покупателей.
За несколько лет журнал действий может вырасти до размеров, превышающих сам каталог. И каждое открытие админки задевает эти таблицы.
Решение — регулярная чистка с сохранением разумной глубины истории. Журнал за последние полгода полезен, журнал за семь лет — балласт.
Товары с большим количеством свойств
Если у каждого товара тридцать характеристик, а товаров сто тысяч, таблица свойств содержит три миллиона строк. Открытие карточки товара тянет из неё все связанные записи, открытие списка — пытается вытянуть их для всех товаров на странице.
Симптом: карточка товара с малым числом свойств открывается быстро, а карточка «сложного» товара — долго.
Что помогает: не выводить в списке товаров то, что там не нужно; уменьшить количество товаров на странице списка; убрать неиспользуемые свойства, которые завели когда-то и забыли.
Изображения
Медиатека на сотню тысяч файлов в одной папке — само по себе проблема для файловой системы. Плюс генерация уменьшенных копий: если она происходит при каждом обращении, а не один раз при загрузке, каждое открытие списка товаров означает обработку десятков картинок.
Признак: список товаров с изображениями открывается заметно дольше, чем список без них.
Слабый или перегруженный сервер
Иногда всё просто: сайт на дешёвом тарифе общего хостинга, где ресурсы делятся между сотнями сайтов. Днём, когда все активны, админка встаёт.
Признак: скорость меняется в течение суток без всякой связи с вашими действиями. Ночью всё летает, днём висит.
Проверяется просмотром нагрузки в панели хостинга. Если вы регулярно упираетесь в лимиты по процессорному времени или по числу одновременных процессов — вопрос решается переездом на отдельный сервер.
Одновременная работа фоновых процессов
Выгрузка из товароучётной системы, обновление цен, пересчёт остатков, генерация карты сайта, резервное копирование. Если всё это запускается по расписанию в рабочее время, админка в этот момент неизбежно тормозит.
Признак: тормоза случаются в одно и то же время каждый день.
Лечится переносом тяжёлых задач на ночь и разнесением их по времени, чтобы они не накладывались друг на друга.
Внешние обращения из админки
Некоторые модули при каждом открытии страницы обращаются к внешним сервисам: проверяют обновления, тянут курсы, синхронизируются с чем-то. Если внешний сервис отвечает медленно или не отвечает вовсе, админка ждёт.
Признак: тормозит внезапно и без системы, а на сайте для посетителей всё нормально.
Одновременная выгрузка большого объёма
Классика: интеграция с товароучётной системой заливает двадцать тысяч позиций одним пакетом, и на время выгрузки сайт вместе с админкой становится неработоспособным.
Лечится порционной передачей и запуском по ночам.
Как найти причину: порядок диагностики
Не начинайте с покупки более мощного сервера — часто дело не в нём.
Шаг первый: зафиксируйте, что именно тормозит. Не «админка вообще», а конкретные действия: открытие списка товаров в таком-то разделе, сохранение товара, поиск по заказам, загрузка изображения. Попросите сотрудников записывать, что и сколько ждёт.
Шаг второй: проверьте, тормозит ли сайт для посетителей. Если для посетителей быстро, а в админке медленно — дело не в сервере целиком, а в конкретных запросах.
Шаг третий: проверьте зависимость от времени суток. Если ночью быстро — вопрос ресурсов или фоновых задач.
Шаг четвёртый: посмотрите медленные запросы к базе. В логах базы данных можно включить запись запросов, выполняющихся дольше заданного времени. Обычно после этого причина становится очевидной за десять минут: один и тот же запрос висит по двадцать секунд.
Шаг пятый: посмотрите размеры таблиц. Часто сразу видно, что журнал действий занимает больше места, чем весь каталог.
Шаг шестой: проверьте нагрузку на сервере в момент тормозов: что именно потребляет ресурсы.
Шаг седьмой: отключите по очереди дополнительные модули на тестовой копии и посмотрите, изменится ли скорость.
Работать нужно на тестовой копии сайта, а не на живом. Это отдельное правило, которое стоит соблюдать всегда: экспериментировать в рабочей админке магазина, куда идут заказы, — плохая идея.
Что можно сделать быстро
Меры, которые обычно дают эффект в первые дни.
Почистить журналы и служебные таблицы. Часто самое быстрое улучшение из всех возможных.
Уменьшить количество элементов на странице списка. Если админка показывает по двести товаров, поставьте пятьдесят. Работать станет удобнее, а не хуже: люди всё равно не просматривают двести строк.
Убрать лишние столбцы из списка. Каждый выводимый в списке параметр — это дополнительная работа для базы.
Перенести фоновые задачи на ночь.
Отключить неиспользуемые модули. В любой системе за годы накапливаются включённые, но давно не нужные дополнения.
Настроить порционную выгрузку из товароучётной системы вместо разовой заливки всего каталога.
Проверить лимиты хостинга и, если упираетесь, перейти на тариф с выделенными ресурсами.
Что требует работы специалиста
Меры, дающие основной эффект, но требующие квалификации.
Добавление указателей в базу данных. Нужно понимать, какие запросы медленные и какие поля в них участвуют. Неправильно добавленные указатели замедляют запись данных, так что действовать наугад не стоит.
Оптимизация запросов в доработках. Если подрядчик когда-то написал модуль, который в цикле обращается к базе по каждому товару, никакие указатели не спасут — нужно переписывать логику.
Настройка кэширования для тяжёлых участков админки.
Разделение сервера — вынести базу данных на отдельную машину, если каталог действительно большой.
Архивирование старых данных. Заказы пятилетней давности можно перенести в архивную таблицу: для отчётности они останутся, а повседневную работу тормозить перестанут.
Пересмотр структуры каталога. Иногда проблема не в технике, а в организации: сто тысяч товаров в одном разделе без вложенности — это тяжело для любой системы.
Особенность ХостСМС
В ХостСМС большие каталоги — штатная ситуация, и система рассчитана на работу с десятками тысяч позиций. Но при этом важно, чтобы структура была выстроена правильно: разумная вложенность групп, продуманный набор свойств, корректно настроенные фильтры, работающее кэширование.
Основные места, куда стоит смотреть при тормозах в админке: объём журналов, размер таблицы свойств товаров, настройки кэша, состояние указателей на дополнительных полях, добавленных при доработках, и расписание фоновых задач. Практика показывает, что в большинстве случаев проблема решается настройкой, а не наращиванием мощности сервера.
Если сайт достался вам от другого подрядчика и в нём есть самописные доработки, начинать нужно именно с них: типовая система обычно оптимизирована, а вот дописанный кусок — как повезёт.
Как это связано с продвижением 3 в 1
Связь неочевидная, но прямая: медленная админка означает устаревшие данные, а устаревшие данные бьют по всем трём каналам обращений.
Поиск и нейропоиск. Чтобы попасть в генеративный ответ на вопрос вроде «где купить такой-то товар» или «сколько стоит», на сайте должны быть актуальные цены и наличие. Каталог, который не обновляли два месяца, содержит недостоверные факты — и в лучшем случае просто не цитируется, в худшем приводит человека к разочарованию.
Яндекс.Справочник. В карточке компании есть услуги и цены, и их нужно поддерживать в актуальном состоянии наравне с сайтом. Если сотрудники не успевают вести каталог, карточку они не ведут тем более.
2ГИС. То же самое: аудитория приложения смотрит цены и услуги прямо в карточке, часто вообще не заходя на сайт.
Общее правило: всё, что мешает сотрудникам поддерживать данные в порядке, в итоге уменьшает количество обращений. Скорость админки — как раз такой фактор, и его стоит воспринимать как часть работы над потоком заявок, а не как внутреннее удобство.
Как понять, что стало лучше
Измеряйте не ощущения, а конкретику.
Замерьте до и после: сколько секунд открывается список товаров в самом большом разделе, сколько занимает сохранение товара, сколько — поиск по заказам. Простой секундомер и три замера в разное время суток.
Спросите у сотрудников, сколько товаров они успевают завести за час. Эта цифра — самый честный показатель.
Посмотрите на свежесть данных: сколько позиций с ценами, не менявшимися больше месяца; сколько товаров помечены как в наличии, но по факту отсутствуют.
И дальше — на обращения: доля заказов, отменённых из-за отсутствия товара, количество звонков «а это точно есть?», доля заказов, где цена на сайте не совпала с фактической. Эти цифры и есть настоящий результат работы над скоростью админки.
Что в итоге
Медленная админка — не косметическая проблема. Она приводит к тому, что каталог перестают вести, а сайт начинает врать посетителям про цены и наличие. Потери при этом не видны напрямую: никто не пишет в отчёте «мы потеряли 40 заказов, потому что менеджеру было тяжело работать».
Причины почти всегда находятся: разросшиеся журналы, отсутствующие указатели в базе, тяжёлые фоновые задачи в рабочее время, самописные доработки, упирающийся в лимиты хостинг. Часть лечится за один день, часть требует работы специалиста, но неразрешимых случаев практически не бывает.
Если ваши сотрудники жалуются на скорость админки, а каталог отстаёт от реальности, — специалисты компании «Сайты Профессионально» проведут диагностику: посмотрим медленные запросы, объём служебных данных, нагрузку на сервер и состояние доработок, и покажем, что даст наибольший эффект при наименьших затратах. Первичный разбор бесплатный, опыт работы с сайтами и крупными каталогами на ХостСМС — более девятнадцати лет.
Хотите получить бесплатную диагностику сайта?
Получите бесплатную экспресс-диагностику за 24 часа. Проверим ошибки, сбои, скорость, безопасность и скрытые ошибки — пришлём отчёт с рекомендациями.
- Скорость загрузки и мобильная версия
- Уязвимости, вирусы, взломы
- Битые ссылки, дубли, SEO-ошибки
- Статус домена, SSL, хостинга
Популярные решения наших клиентов:

До 10 часов работ в мес.
Ежедневная диагностика
Продление домена
Продление хостинга/сервера

До 40 часов работ в мес.

До 100 часов работ в мес.
