Как выбрать сервер и оптимизировать MS SQL для работы 25–30 пользователей в 1С:УПП 1.3?

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

При росте объема базы данных и увеличении количества активных пользователей в конфигурации «1С:Управление производственным предприятием» (УПП 1.3) часто возникает проблема существенного замедления ключевых операций — в частности, группового перепроведения документов. Проанализируем, как правильно подобрать аппаратную конфигурацию сервера и какие настройки СУБД MS SQL Server и операционной системы необходимо выполнить для достижения максимальной производительности.

Критерии выбора аппаратной конфигурации сервера

Рассмотрим основные требования к комплектующим при сборке сервера под совмещенные роли (терминальный сервер RDP, сервер приложений 1С и СУБД MS SQL на одной физической машине):

  1. Тактовая частота процессора (Single-Thread Performance): Операция проведения документа в платформах 1С выполняется строго в один поток на уровне одного рабочего процесса rphost. Многопроцессорные системы с большим количеством ядер, но низкой базовой частотой (2.0–2.4 ГГц) покажут крайне низкую скорость проведения документов. Рекомендуется выбирать процессоры с максимальной производительностью на одно ядро и базовой частотой от 3.0–3.5 ГГц и выше. Однопроцессорная конфигурация на высокочастотном CPU часто оказывается быстрее и эффективнее для 25–30 пользователей, чем двухпроцессорная на низкочастотных ядрах.
  2. Объем и конфигурация оперативной памяти: Память — ключевой ресурс при совмещении всех служб. Для работы 25–30 RDP-пользователей (из расчета 0.5–0.7 ГБ на сессию), работы сервера приложений 1С и кэша MS SQL требуется минимум 64–128 ГБ ОЗУ. Недостаток памяти приведет к вытеснению процессов СУБД и 1С в файл подкачки на диске, что вызовет сильные зависания.
  3. Дисковая подсистема и RAID-контроллер: Самым узким местом при работе с базами данных является скорость случайной записи и чтения.
    • Необходимо использовать исключительно серверные SSD (Enterprise) с высокими показателями надежности и ресурса перезаписи (DWPD от 1 и выше). Использование обычных десктопных SSD недопустимо, так как они быстро перегреваются при постоянной записи журналов транзакций и сбрасывают скорость.
    • Для максимальной скорости и отказоустойчивости рекомендуется формировать массив RAID 10 из SSD под базы данных и логи СУБД вместо обычного RAID 1.
    • Обязательно наличие полноценного аппаратного RAID-контроллера с энергонезависимой кэш-памятью (Battery/Flash-Backed Write Cache). Это позволяет включить режим кэширования записи Write-Back, ускоряя операции транзакций в разы.

Тонкая настройка MS SQL Server под задачи 1С

Даже на самом мощном железе неоптимизированный MS SQL Server может создавать задержки при групповой обработке документов. Разберем по шагам ключевые параметры СУБД:

  1. Ограничение параллелизма (MAXDOP): По умолчанию MS SQL пытается распараллелить проведение документа на несколько ядер, из-за чего возникают ожидания ресурсов CXPACKET и блокировки. Необходимо ограничить параметр Max Degree of Parallelism до значения 1, чтобы каждая транзакция выполнялась последовательно на одном ядре без накладных расходов на синхронизацию.
  2. Включение мгновенной инициализации файлов (Instant File Initialization): При автоувеличении базы данных или журнала транзакций MS SQL без этой настройки приостанавливает работу и зануляет выделяемое дисковое пространство. Для устранения пауз необходимо предоставить учетной записи службы MS SQL право в локальной политике безопасности ОС: Выполнение задач по обслуживанию томов (Perform Volume Maintenance Tasks).
  3. Настройка лимита памяти (Max Server Memory): Чтобы СУБД не забрала всю оперативную память сервера, жестко ограничим максимальный объем памяти для MS SQL. Если на сервере 64 ГБ ОЗУ, отделим примерно 12–16 ГБ под ОС и RDP-сессии, 12–16 ГБ под сервер 1С, а оставшиеся ~32–36 ГБ зафиксируем в параметре Max Server Memory.
  4. Оптимизация временной базы tempdb: База tempdb активно используется платформой 1С для временных таблиц. Выделим для tempdb несколько файлов данных одинакового размера (соответственно числу физических ядер процессора, обычно от 4 до 8) и разместим их на самом быстром SSD-накопителе.
  5. Модель восстановления: Если для базы не требуется точечное восстановление на любую секунду дня, установим простую модель восстановления (Simple), чтобы журнал транзакций не разрастался до огромных размеров и не нагружал диски.

Оптимизация настроек ОС и платформы 1С

Проанализируем параметры операционной системы и кластера 1С, влияющие на быстродействие:

  1. Схема электропитания Windows и BIOS: По умолчанию в серверах включены функции энергосбережения. Поскольку проведение документов — это кратковременные пиковые нагрузки, процессор не успевает повысить частоту. Переведем схему электропитания Windows Server в режим Максимальная производительность (High Performance) и отключим состояния энергосбережения ядер (C-States) в BIOS.
  2. Протокол взаимодействия Shared Memory: Если MS SQL и сервер 1С размещены на одном физическом сервере, настроим подключение к базе данных через локальную память (Shared Memory) вместо сетевого протокола TCP/IP, что снизит задержки межпроцессного обмена.
  3. Замер производительности и поиск медленных запросов: Перед приобретением нового оборудования рекомендуется выполнить замер производительности через конфигуратор 1С или использовать специализированные тесты производительности (например, тест Гилева). Это позволит выявить конкретные тяжелые запросы в коде проведения документов, исправление которых может дать существенный прирост скорости даже на текущем сервере.
  4. Обслуживание копий баз: В тестовых и дублирующих базах данных обязательно отключим регламентные и фоновые задания, а также журнал регистрации, чтобы они не отнимали ресурсы у рабочей базы.
← На главную