Как выбрать оптимальную конфигурацию сервера для 1С на 100 пользователей?

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

Рассмотрим типовую задачу выбора аппаратной конфигурации сервера под 1С:Предприятие 8 для 100 активных пользователей. Архитектура предполагает совмещение или распределение основных ролей: службы удаленных рабочих столов (RDS / терминальный сервер), сервер приложений 1С и СУБД MS SQL Server. Выясним причину главных сложностей при проектировании и разберем по шагам, на какие параметры оборудования следует обращать внимание в первую очередь.

Выбор процессора: тактовая частота или количество ядер

Проанализируем ситуацию с нагрузкой, создаваемой платформой 1С. Ключевые операции в 1С (проведение документов, выполнение регламентных заданий, расчет себестоимости) вычисляются строго последовательно в один поток. Для них решающее значение имеет производительность на одно ядро (IPC) и базовая/турбо-частота процессора. Если выбрать многоядерный процессор с низкой частотой (например, 2.0–2.4 ГГц), отдельные транзакции 1С будут работать медленно даже при суммарной загрузке CPU менее 20%.

Однако при масштабе в 100 пользователей параллельная нагрузка от фоновых процессов 1С, SQL-запросов и сеансов пользователей становится слишком велика для однопроцессорной системы. Поэтому в данном случае рекомендуемся выбирать двухпроцессорную конфигурацию, но с обязательным соблюдением баланса высокой частоты на ядро:

  1. Количество ядер: Для 100 пользователей в терминале требуется суммарно не менее 16–24 ядер, чтобы параллельные потоки rphost и MS SQL Server не блокировали друг друга.
  2. Тактовая частота: Оптимальная частота должна составлять от 3.0–3.5 ГГц и выше в режиме Turbo Boost. Использование медленных серверных процессоров начального уровня приведет к микрозависаниям в управляемых формах и при открытии тяжелых отчетов.
  3. Архитектура NUMA: При установке двух процессоров оперативная память должна распределяться строго симметрично по всем каналам обоих CPU. Несбалансированная память приводит к задержкам при межпроцессорных обращениях через шину Interconnect.

Расчет необходимого объема оперативной памяти

Рассмотрим подробнее требования к оперативной памяти (ОЗУ). Запас памяти должен рассчитываться исходя из всех трех ролей, выполняемых на сервере:

  1. MS SQL Server: Требует от 32 ГБ до 64 ГБ ОЗУ (в зависимости от размера базы данных) для удерживания в кэше индексов и таблиц.
  2. Сервер приложений 1С: Рабочие процессы rphost потребляют от 20 ГБ до 40 ГБ ОЗУ для обслуживания сессий, формирования кэша и выполнения сложных отчетов.
  3. Службы RDS (терминал): Каждая пользовательская сессия тонкого или толстого клиента 1С вместе с вспомогательными программами занимает в среднем 500–800 МБ. На 100 человек требуется от 50 ГБ до 80 ГБ ОЗУ.

Итоговый рекомендованный объем оперативной памяти для комфортной работы 100 пользователей составляет от 128 ГБ до 256 ГБ. Конфигурация с 64 ГБ в условиях терминального сервера окажется узким местом: система начнет уходить в файл подкачки (swapping), что резко снизит быстродействие.

Требования к дисковой подсистеме и настройка RAID

Разберем организацию дискового пространства. При выборе SSD накопителей критически важно отличать клиентские (Consumer) накопители от серверных (Enterprise):

  1. Защита от потери питания (PLP): Потребительские SSD не имеют встроенных конденсаторов PLP. При частых командах сброса кэша (команды flush от MS SQL) потребительские диски сбрасывают скорость записи в десятки раз. Для работы с базами 1С следует использовать только специализированные Enterprise SSD / NVMe с высокой выносливостью (DWPD ≥ 1–3).
  2. Структура томов и массивов: Вместо одного общего массива RAID 10 под все задачи, целесообразно разделить дисковые тома под разную нагрузку. Рекомендуется использовать отдельные зеркальные тома (RAID 1) на быстрой дисковой подсистеме. В СУБД MS SQL базы данных разносится по файлам в рамках одной группы, разнесенным на разные физические тома.
  3. Размещение TempDB: Системная база данных TempDB крайне активно используется 1С для создания временных таблиц. Ее рекомендуется выносить на самый быстрый NVMe-накопитель или RAM-диск.
  4. Резервное копирование: Не следует хранить бэкапы на тех же физических SSD, где расположены рабочие базы. Резервные копии необходимо скидывать на отдельный массив из емких HDD или на внешний специализированный бэкап-сервер по сети.

Рекомендации по разграничению ролей и настройке ПО

Для достижения максимальной производительности недостаточно просто купить мощный сервер. Проанализируем программные настройки и архитектурные решения:

  1. Разделение ролей (Виртуализация): Совмещение терминального сервера (RDS) и сервера СУБД/1С на одной физической ОС без виртуализации приводит к жесткой конкуренции за ресурсы. Рекомендуется использовать гипервизор (например, VMware ESXi или Microsoft Hyper-V) для изоляции терминального сервера на отдельную виртуальную машину или выносить RDS на отдельный физический сервер.
  2. Настройка параметра MAXDOP в MS SQL: Для работы с базами данных 1С параметр максимальной степени параллелизма MAXDOP в настройках MS SQL Server следует устанавливать равным 1. Это предотвращает возникновение взаимных блокировок (Deadlocks) и устраняет задержки ожидания ресурсов CXPACKET.
  3. Энергосбережение процессора: В настройках BIOS сервера и в параметрах электропитания операционной системы необходимо принудительно выставить профиль максимальной производительности (High Performance). Отключение функций динамического сброса частоты (C-States / P-States) предотвращает микрозадержки при выполнении коротких транзакций 1С.
← На главную