К статье
Практический материал

Администрирование · 9 мин

Как ускорить работу 1С:Розница

Практические способы ускорить 1С:Розница: настройка сервера и СУБД, регламентные задания, индексы, работа с кассами и типовые ошибки администраторов.

Медленная работа 1С:Розница почти всегда имеет конкретную техническую причину: перегруженный дисковый массив, разросшиеся таблицы итогов, неоптимальные настройки СУБД или регламентные задания, выполняющиеся в часы продаж. Прежде чем менять оборудование, стоит локализовать узкое место — в большинстве случаев заметного ускорения можно добиться настройкой, без покупки нового сервера.

Симптомы бывают разными: долгое открытие РМК, зависания при проведении чеков, медленное формирование отчётов, подвисания при обмене с офисной базой. Каждый симптом указывает на свой класс проблем, поэтому диагностика — первый обязательный шаг.

Материал ориентирован на администраторов и внедренцев, которые обслуживают файловые и клиент-серверные базы 1С:Розница. Все операции, затрагивающие данные, выполняйте только после резервного копирования.

Диагностика: где именно тормозит система

Первый шаг — определить, что именно медленно работает. Если тормозит только формирование отчётов, проблема почти наверняка в СУБД или в размере таблиц. Если медленно открывается даже список товаров, проверяйте сеть и дисковую подсистему. Если подвисает только РМК на кассе — смотрите оборудование кассового узла и обмены с периферией.

Используйте встроенные инструменты: «Монитор производительности» в конфигураторе, технологический журнал с фильтром по длительным запросам, а для клиент-серверного варианта — анализ запросов средствами СУБД (план запроса в MS SQL Server или pgBadger для PostgreSQL). Зафиксируйте базовые замеры: время открытия РМК, проведения чека, закрытия смены, формирования отчёта по продажам за день.

Тормозит всё и у всехПроблема на сервере

Загрузка CPU, диска, настройки СУБД

Тормозит одна кассаЛокальная проблема узла

Сеть, антивирус, диск кассового ПК

Тормозят только отчётыТяжёлые запросы

Индексы, статистика, размер таблиц

Периодические подвисанияФоновые процессы

Регламентные задания, обмены, бэкапы

Аппаратный уровень: диски, память и сеть

Самый значимый аппаратный фактор для 1С — дисковая подсистема. База на обычном HDD будет медленной при любых настройках. Перенос базы и журналов транзакций СУБД на SSD даёт ускорение в разы именно на операциях записи, которых в рознице много: каждый чек — это проведение документа и движения по нескольким регистрам.

Оперативной памяти должно хватать под кэш СУБД. Для MS SQL Server задайте ограничение максимальной памяти так, чтобы системе оставался резерв; для PostgreSQL настройте shared_buffers и effective_cache_size. Сеть между кассами и сервером должна быть гигабитной; работа тонкого клиента через Wi-Fi с нестабильным сигналом — частая причина «тормозов», которые ошибочно списывают на 1С.

На кассовых компьютерах проверьте антивирус: добавьте каталоги 1С, временные файлы и каталог базы (для файлового варианта) в исключения. Проверка каждого файла базы антивирусом в реальном времени способна замедлить работу в несколько раз.

Настройка СУБД для клиент-серверного варианта

Клиент-серверный вариант на MS SQL Server или PostgreSQL при числе активных касс от двух-трёх почти всегда работает стабильнее файлового. Файловая база на общем сетевом ресурсе — заведомо слабое место: протокол SMB не рассчитан на интенсивную конкурентную работу с большими файлами.

Для MS SQL Server базовые действия такие: модель восстановления Simple для базы, где допустима потеря данных на интервал между бэкапами; темпdb на быстром диске; автоувеличение файлов фиксированным шагом вместо процентного. Для PostgreSQL — регулярный autovacuum с адекватными порогами и периодический ANALYZE.

Обслуживание базы: индексы, статистика, итоги

Регулярное обслуживание — главный источник стабильной производительности. Обновление статистики и перестроение (или реорганизация) индексов должны выполняться по расписанию, обычно ночью. Чем интенсивнее продажи, тем чаще нужно обслуживание: при большом потоке чеков фрагментация индексов растёт быстро.

Проверьте периодичность расчёта итогов по регистрам накопления. В типовой 1С:Розница итоги хранятся помесячно; если отчёты строятся за текущий месяц, убедитесь, что текущие итоги рассчитаны. Перепроведение больших массивов документов задним числом — тяжёлая операция, планируйте её на нерабочее время.

Порядок действий
  1. 1
    Сделайте резервную копию базы и зафиксируйте базовые замеры скорости типовых операций
  2. 2
    Настройте ежедневное обновление статистики и еженедельную реорганизацию индексов в СУБД
  3. 3
    Проверьте и при необходимости пересчитайте итоги по регистрам за текущий период
  4. 4
    Очистите историю обменов, помеченные объекты и устаревшие данные версионирования
  5. 5
    Повторите замеры и сравните с базовыми значениями

Регламентные задания и обмены данными

Частая причина дневных подвисаний — регламентные задания, выполняющиеся в часы продаж. Откройте список регламентных и фоновых заданий и перенесите тяжёлые операции (загрузка курсов, обмены с сайтом, архивация, расчёт себестоимости) на ночное время. Оставьте днём только то, что нужно кассирам в реальном времени.

Обмены между магазинами и центральной базой (РИБ или обмены через планы обмена) накапливают служебные данные: зарегистрированные изменения, сообщения обмена, протоколы. Регулярно удаляйте старые сообщения обмена и очищайте регистрацию изменений по уже подтверждённым узлам — разросшиеся таблицы регистрации заметно замедляют и обмены, и запись документов.

Типичные ошибки
01
Запуск полной синхронизации с центральной базой в разгар рабочего дня — кассы подвисают при записи чеков
02
Отключение автоматических бэкапов ради скорости — ускорение минимально, а риск потери данных критичен
03
Удаление «лишних» документов напрямую запросами к СУБД — нарушается целостность ссылок, база может стать неработоспособной
04
Игнорирование очистки регистрации изменений в планах обмена — таблицы разрастаются и тормозят всю систему

Ускорение кассового узла и РМК

На самой кассе ускорение достигается локальными мерами. Отключите в настройках РМК всё, что не используется: лишние панели быстрых товаров с тысячами позиций, автоматический поиск по всем полям, показ остатков по всем складам, если магазин один. Каждый лишний запрос к базе при открытии формы — это задержка для кассира.

Ограничьте объём данных в подборе: используйте иерархию товаров и быстрые клавиши для ходовых позиций вместо полного списка номенклатуры. Если номенклатура исчисляется десятками тысяч позиций, проверьте, что поиск настроен по началу строки или по штрихкоду, а не по подстроке — поиск по подстроке на больших справочниках работает значительно медленнее.

Для периферии обновите драйверы торгового оборудования и убедитесь, что фискальный регистратор и сканер работают через актуальные версии обработок обслуживания. Устаревшие драйверы иногда дают паузы в несколько секунд на каждой операции.

Контрольные точки

Как проверить результат

Время открытия РМК
Норма

Форма открывается за 1–3 секунды

Тревожный признак

Открытие занимает более 5–7 секунд

Проведение чека
Норма

Пробитие без видимых пауз

Тревожный признак

Задержка 3+ секунды на каждом чеке

Отчёт по продажам за день
Норма

Формируется за несколько секунд

Тревожный признак

Формирование занимает минуты

Фоновые задания днём
Норма

Выполняются только лёгкие операции

Тревожный признак

Обмены и расчёты запускаются в часы продаж

Когда настройки недостаточно

Если после обслуживания и оптимизации база всё ещё медленная, оцените масштаб: объём базы, число одновременно работающих пользователей, интенсивность продаж. База объёмом в десятки гигабайт с интенсивной записью требует клиент-серверной архитектуры и отдельного сервера СУБД — файловый вариант здесь принципиально ограничен.

Крайние меры — свёртка базы на начало года с переносом остатков и архивирование старых периодов в отдельную базу. Это трудоёмкая операция, требующая тестирования, но для баз с многолетней историей она даёт радикальное ускорение. Перед свёрткой обязательно проверьте корректность перенесённых остатков по всем разделам учёта.

Итог

Что важно запомнить

Начните с замеров и диагностики, затем последовательно: SSD и достаточный объём памяти, настройка СУБД, регулярное обновление статистики и индексов, очистка обменов и служебных данных, перенос тяжёлых заданий на ночь. Каждое изменение проверяйте повторным замером и делайте резервные копии перед рискованными операциями.

Частые вопросы

Ускорит ли работу простое увеличение оперативной памяти на сервере?

Только если памяти действительно не хватает: проверьте загрузку в мониторе ресурсов. Если СУБД уже кэширует рабочие данные, добавление памяти эффекта не даст — вероятнее, узкое место в дисках или в неоптимальных запросах.

Как часто нужно обновлять статистику и перестраивать индексы?

Ориентир для активно работающего магазина: обновление статистики ежедневно ночью, реорганизация индексов еженедельно, полное перестроение — при высокой фрагментации. Точную периодичность подбирайте по фактической скорости роста базы.

Стоит ли переходить с файловой базы на клиент-серверную?

Да, если одновременно работают две-три и более кассы или база заметно выросла. Файловый вариант чувствителен к качеству сети и блокировкам, клиент-серверный устойчивее и быстрее под нагрузкой, но требует администрирования СУБД.

Почему база стала медленнее сразу после обновления конфигурации?

После обновления могут выполняться отложенные обработчики обновления данных — они грузят систему в фоне. Проверьте статус отложенного обновления в разделе поддержки и обслуживания и дождитесь завершения обработчиков, желательно запустив их в нерабочее время.

Влияет ли антивирус на скорость 1С?

Да, заметно. Проверка файлов базы, журналов и временных файлов в реальном времени создаёт задержки на каждой операции чтения-записи. Добавьте каталоги 1С и СУБД в исключения антивируса, оставив проверку по расписанию.

Что делать, если тормозит только закрытие кассовой смены?

Закрытие смены формирует отчёт о розничных продажах и проводит его по регистрам — при большом числе чеков это тяжёлая операция. Помогают актуальные итоги регистров, обслуживание индексов и очистка устаревших данных; также проверьте, не запускаются ли одновременно обмены с центральной базой.