Администрирование · 12 мин
Как ускорить работу 1С:Розница
Почему тормозит 1С:Розница и как её ускорить: настройка СУБД, оборудования, регламентных заданий, индексов и кассового узла. Пошаговые действия и проверка результата.
Медленная работа 1С:Розница чаще всего проявляется в трёх местах: долгое открытие РМК и пробитие чека, зависание при проведении документов и отчётов, а также медленный обмен данными между кассами и центральной базой. Причины почти всегда типовые: слабый сервер или дисковая подсистема, не настроенная СУБД, разросшаяся база без обслуживания и избыточные регламентные задания.
Ускорение — это не одна «волшебная» настройка, а последовательная диагностика: сначала определяют, где именно теряется время (клиент, сеть, сервер 1С, СУБД), затем устраняют узкое место. Случайные действия вроде «поставим побольше оперативной памяти» часто не дают результата, потому что проблема лежит в другом слое.
Ниже — практический порядок работ: от быстрой диагностики до настройки SQL Server, обслуживания базы и оптимизации кассового узла. Большинство шагов выполняются штатными средствами без доработки конфигурации.
Шаг 1. Найдите узкое место, прежде чем что-то менять
Главная ошибка — оптимизировать вслепую. Один и тот же симптом «чек пробивается 10 секунд» может означать перегруженный диск на сервере, медленную сеть между кассой и сервером или зависшее фоновое задание. Без замера вы рискуете потратить бюджет не на то.
Начните с простого наблюдения: тормозит ли программа у всех пользователей одновременно или только на конкретной кассе? Если у всех — проблема почти наверняка на сервере или в СУБД. Если только на одном рабочем месте — проверяйте сам компьютер, сетевой кабель, антивирус и настройки подключения торгового оборудования.
Для технической диагностики используйте технологический журнал платформы 1С (события DBMSSQL, CALL с длительностью) и монитор ресурсов Windows: загрузка диска (очередь и время отклика), память, процессор. Дисковая очередь выше 2 и время отклика диска выше 10–20 мс при активной работе — типичный признак того, что базе не хватает быстрой дисковой подсистемы.
Загрузку диска, память SQL Server, длительные запросы в техножурнале
Сеть до кассы, антивирус, драйверы торгового оборудования, ресурсы самого ПК
Расписание регламентных заданий, обменов и резервного копирования
Обновление статистики, состояние итогов регистров, планы запросов
Шаг 2. Проверьте аппаратную часть сервера
Файловый режим работы подходит только для очень маленьких магазинов с одной-двумя кассами. Если база лежит в общей сетевой папке и с ней работают несколько кассиров, переход на клиент-серверный вариант (SQL Server, PostgreSQL) — самое эффективное ускорение из возможных. В файловом режиме каждая операция гоняет данные по сети, и никакая настройка это не компенсирует.
Для клиент-серверной базы критичны три вещи: быстрые диски (SSD, а не медленные HDD), достаточный объём оперативной памяти и размещение базы данных и журнала транзакций на разных физических устройствах при высокой нагрузке. Память важна потому, что СУБД кэширует данные: если кэш мал, сервер постоянно читает с диска.
Отдельно проверьте сеть между кассами и сервером: гигабитный коммутатор, исправные кабели, отсутствие Wi-Fi на пути кассового трафика. Работа кассы через Wi-Fi — частая скрытая причина задержек при пробитии чеков.
Шаг 3. Настройте SQL Server под 1С
Установленный «по умолчанию» SQL Server почти всегда работает неоптимально для 1С. Минимальный набор настроек, который даёт заметный эффект:
- Ограничение памяти (max server memory). Задайте явный лимит, оставив операционной системе и серверу 1С несколько гигабайт. Без ограничения SQL Server может занять всю память и вызвать подкачку.
- Tempdb. Разнесите tempdb на несколько файлов данных (ориентир — по числу ядер процессора, но не более 8), одинакового начального размера, с отключённым автоувеличением маленькими порциями.
- Max degree of parallelism. Для баз 1С обычно рекомендуют ограничить параллелизм (часто значением 1 на небольших серверах), так как запросы платформы плохо утилизируют параллельные планы и получают лишние ожидания.
- Модель восстановления. Если журнал транзакций разрастается и тормозит диск, оцените переход на простую модель восстановления — но понимайте, что при этом теряется возможность восстановления на произвольный момент времени.
После изменения настроек перезапустите службу SQL Server и понаблюдайте за работой в часы пик. Не меняйте несколько параметров одновременно без замеров — иначе не поймёте, что именно помогло.
EXEC sp_configure 'max degree of parallelism', 1; RECONFIGURE; GOШаг 4. Организуйте регулярное обслуживание базы
База без обслуживания деградирует постепенно: фрагментируются индексы, устаревает статистика, и запросы, которые раньше выполнялись мгновенно, начинают сканировать миллионы строк. Характерный признак — «раньше всё летало, а теперь тормозит, хотя ничего не меняли».
Настройте регулярные задачи обслуживания средствами СУБД: обновление статистики (ежедневно или несколько раз в неделю), перестроение или реорганизацию индексов (еженедельно, в нерабочее время), очистку процедурного кэша при резкой смене характера нагрузки. Эти операции выполняются вне рабочих часов, чтобы не конкурировать с кассами.
На уровне конфигурации проверьте регламентные и фоновые задания: отключите те, что не используются, разнесите остальные по времени. Нередкая ситуация — одновременный запуск обмена с ЕГАИС, расчёта товарных отчётов и резервного копирования в час пик, из-за чего кассы «встают».
- 1Сделайте резервную копию и проверьте её восстановление
- 2Проанализируйте регламентные задания: отключите неиспользуемые, разнесите остальные по времени
- 3Настройте в СУБД ежедневное обновление статистики
- 4Настройте еженедельное перестроение индексов в нерабочее время
- 5Установите периодические итоги и рассмотрите свёртку старых периодов
- 6Через неделю сравните время ключевых операций с исходными замерами
Шаг 5. Уменьшите объём данных
Чем больше база, тем дороже каждая операция: дольше бэкап, дольше реиндексация, больше данных не помещается в кэш. В Рознице быстро растут регистры продаж, очереди обмена с кассами, данные о версиях объектов и история обменов с ЕГАИС и системами маркировки.
Рабочие инструменты: свёртка базы на дату (переносит остатки и удаляет старые документы), штатная обработка удаления помеченных объектов, очистка регистров сведений обмена (например, результатов обмена данными) и настройка сроков хранения сообщений обмена. Перед свёрткой обязательно сформируйте и сохраните отчёты за закрываемый период — вернуть детальные данные будет невозможно.
Отдельно проверьте настройки РИБ, если кассы работают в распределённой базе: долгие задержки обмена часто вызваны не скоростью канала, а огромными накопленными пакетами изменений. Регулярная успешная выгрузка-загрузка и контроль неотправленных сообщений решают эту проблему.
Шаг 6. Ускорьте кассовое рабочее место
На самой кассе проверьте режим работы РМК: отключите неиспользуемые панели и опросы, ограничьте число одновременно запущенных фоновых операций. Каждый лишний элемент интерфейса и фоновый запрос добавляет задержку при открытии смены и пробитии чека.
Торговое оборудование (сканеры, фискальные регистраторы, дисплеи покупателя) подключайте через актуальные драйверы и проверяйте время отклика фискального регистратора отдельно: иногда «тормозит 1С» на деле означает медленную печать чека из-за старого драйвера или перегруженного USB-порта.
Антивирус на кассе и сервере настройте с исключениями для каталогов 1С, файлов базы данных и процессов платформы и СУБД. Проверка каждого обращения к базе антивирусом в реальном времени — классическая причина двукратного замедления дисковых операций.
Полезный приём — зафиксировать «эталонные» замеры до начала работ: время открытия РМК, пробития типового чека, проведения отчёта о розничных продажах и формирования товарного отчёта. После каждого изменения повторяйте те же замеры. Это защищает от субъективных оценок «вроде стало быстрее» и позволяет откатить изменение, не давшее эффекта.
Шаг 7. Когда нужны доработки и помощь специалиста
Если после настройки железа, СУБД и обслуживания остаются конкретные медленные операции — например, один отчёт или проведение конкретного документа — проблема, скорее всего, в запросах и коде. Здесь помогает замер производительности в конфигураторе и анализ планов запросов: неоптимальный запрос к регистру без нужного индекса может выполняться минуты там, где возможны секунды.
Самостоятельно безопасно менять настройки платформы, СУБД и расписания заданий. Изменение кода конфигурации, создание дополнительных индексов и оптимизацию запросов лучше поручить специалисту: ошибка в индексе или запросе способна замедлить всю базу, а доработка типового кода усложнит обновления.
Как проверить результат
Заметно сократилось относительно исходного замера и стабильно в часы пик
Улучшение есть только в часы без нагрузки — узкое место не устранено
Очередь около нуля, отклик единицы миллисекунд
Очередь выше 2 и отклик десятки миллисекунд при активной работе
Пакеты уходят и принимаются за минуты, очередь не копится
Накапливаются неотправленные сообщения, обмен растягивается на часы
Выполняются вне пиковых часов без ошибок и блокировок
Задания падают с ошибками или выполняются в разгар продаж
Частые вопросы
Можно ли ускорить файловую базу 1С:Розница без перехода на SQL?
Частично: разместите базу на SSD, исключите её каталог из антивируса, уберите лишние регламентные задания и сократите объём данных. Но при работе нескольких касс одновременно файловый режим упирается в архитектурное ограничение — блокировки всей базы при записи. Устойчивое ускорение в этом случае даёт только переход на клиент-серверный вариант.
Как понять, что пора делать свёртку базы?
Ориентиры: база выросла настолько, что бэкап и реиндексация не укладываются в ночное окно; типовые отчёты за текущий период заметно замедлились; данные старше двух-трёх лет нужны только для архивных справок. Перед свёрткой сформируйте все регламентированные и управленческие отчёты за закрываемый период и сделайте полную копию базы.
Правда ли, что антивирус сильно тормозит 1С?
Да, это одна из самых частых причин. Антивирус проверяет каждое обращение к файлам базы и журнала транзакций, удваивая нагрузку на диск. Решение — не отключение защиты целиком, а добавление в исключения каталогов базы данных, tempdb, исполняемых файлов платформы и процессов СУБД.
Почему чеки пробиваются медленно именно в часы пик?
В пик одновременно работают все кассы, идут обмены и фоновые задания — сервер упирается в диск или блокировки. Проверьте расписание регламентных заданий и бэкапов (их не должно быть в рабочие часы), состояние дисковой подсистемы и очереди обмена РИБ. Если всё это в порядке, а провалы остаются — серверу не хватает ресурсов под фактическую нагрузку.
Поможет ли обновление платформы 1С?
Иногда да: в новых версиях платформы исправляют ошибки и улучшают оптимизацию запросов. Но обновление ради скорости — рискованный шаг без тестирования, так как меняется поведение конфигурации. Обновляйтесь планово, на копии базы, с проверкой ключевых операций, а не как экстренную меру «чтобы летало».
Что безопасно настроить самостоятельно, а что лучше отдать специалисту?
Самостоятельно безопасны: расписание регламентных заданий, исключения антивируса, замена дисков, базовые настройки памяти SQL Server, регулярное обслуживание по типовому плану. К специалисту стоит обращаться для анализа планов запросов, создания дополнительных индексов, доработки кода и свёртки большой базы — ошибки там дороже и труднее откатываются.
Что важно запомнить
Ускорение 1С:Розницы начинается с замера узкого места, а не с покупки железа. Основной эффект дают клиент-серверный режим на SSD, корректная настройка SQL Server, регулярное обновление статистики и индексов, контроль регламентных заданий и сокращение объёма базы. Перед свёрткой и любыми необратимыми операциями — проверенная резервная копия.