Как оптимизировать сервер для 1С:Розница, MS SQL Server и терминального доступа

Системный администратор 1С v8.3 (Управляемые формы) 1С:Розница IT и автоматизация бизнеса
← На главную

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

Шаг 1. Изоляция посторонней нагрузки и вынос видеонаблюдения

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

Для решения этой задачи вынесем видеоархив на отдельный недорогой ПК или специализированный видеорегистратор. Это полностью высвободит ресурсы основного сервера для задач 1С и СУБД.

Шаг 2. Оптимизация дисковой подсистемы (SSD и HDD)

Рассмотрим, как распределить файлы операционной системы, MS SQL Server и профили терминальных пользователей по физическим накопителям:

  1. Операционная система, профили пользователей и файл подкачки: Размещаем на SSD. Это обеспечивает быстродействие системных служб и комфортную работу в RDP-сессиях.
  2. Файлы баз данных и транзакционных логов: Для баз данных MS SQL критически важна скорость записи. При выборе SSD отдаем преимущество специализированным накопителям с аппаратно реализованной защитой от потери питания (Power Loss Protection / PLP). Десктопные SSD под интенсивной нагрузкой СУБД могут критически снижать скорость случайной записи транзакционного лога.
  3. Разделение TempDB и основной БД: Выносим служебную базу TempDB на отдельный быстрый SSD-накопитель. В 1С активно создаются временные таблицы, поэтому изоляция TempDB снижает конкуренцию за операции ввода-вывода.
  4. Резервное копирование: Хранение бэкапов на тех же дисках, где размещена рабочая база (даже в зеркальном RAID 1), не обеспечит должного уровня надежности. Настраиваем дублирование архивов скриптами на изолированный диск другого сервера в локальной сети.

Шаг 3. Тонкая настройка MS SQL Server под требования 1С

Проанализируем параметры СУБД, гарантирующие стабильную работу конфигурации «1С:Розница»:

  1. Ограничение параллелизма (MAXDOP): Устанавливаем параметр Max Degree of Parallelism = 1 в настройках MS SQL Server. Это исключает создание некорректных параллельных планов запросов и снижает риск возникновения взаимоблокировок (deadlocks).
  2. Многофайловая конфигурация TempDB: Создаем несколько файлов данных для TempDB одинакового размера (по количеству логических ядер процессора) с равным шагом авторасширения для предотвращения внутренних блокировок страниц.
  3. Мгновенная инициализация файлов: Назначаем учетной записи службы MS SQL Server локальное право «Выполнение задач по обслуживанию томов» (Perform Volume Maintenance Tasks). Это исключит «зависания» 1С при автоматическом увеличении размеров файлов базы данных.
  4. Ограничение оперативной памяти: Лимитируем параметр Max Server Memory для MS SQL Server, чтобы СУБД не вытесняла из памяти процессы кластера 1С (rphost) и службы терминального доступа.

Шаг 4. Настройка аппаратной части и процессора

Выясним основные причины аппаратных задержек на уровне физического сервера:

  1. Однопоточная производительность ЦП: Ключевые транзакционные операции (проведение документов) выполняются последовательно в один поток. При выборе процессора ориентируемся на высокую тактовую частоту ядра.
  2. Отключение режимов энергосбережения: В BIOS/UEFI сервера и схеме питания ОС отключаем функции энергосбережения (C-states, SpeedStep) и включаем режим высокой производительности. Это исключит задержки при переключении частоты процессора под поступающей нагрузкой.
← На главную