Куда лучше установить сервер 1С: на сервер баз данных MS SQL или на терминальный сервер?

Системный администратор IT и автоматизация бизнеса
← На главную

При проектировании инфраструктуры для работы с платформой 1С:Предприятие системные администраторы часто сталкиваются с вопросом оптимального распределения ролей между имеющимся оборудованием. Типичная дилемма — куда вынести службу 64-разрядного сервера 1С: на физическую машину с терминальным сервером (RDS) или совместить её на одном сервере с СУБД MS SQL Server.

В этой статье мы подробно проанализируем архитектурные особенности обоих вариантов, разберем влияние характеристик процессоров и оперативной памяти, а также рассмотрим порядок правильной настройки и переноса сервера 1С.

Почему сервер 1С рекомендуется размещать совместно с СУБД

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

Рассмотрим ключевые причины такого архитектурного решения:

  1. Использование межпроцессного взаимодействия по протоколу Shared Memory: При нахождении сервера 1С и MS SQL на одном физическом сервере обмен данными между ними происходит напрямую через оперативную память. Это полностью исключает накладные расходы сетевого стека, снижает задержки (latency) и ускоряет выполнение транзакций.
  2. Разделение профилей нагрузки: Терминальный сервер обслуживает пользовательские графические сессии RDP, хранит процессы браузеров, клиентских приложений и печатных форм. Это создает хаотичную нагрузку на оперативную память и процессоры. Сервер баз данных и сервер 1С требуют стабильных вычислительных ресурсов с предсказуемым выделением кэша.
  3. Эффективное использование многопроцессорных систем: Для работы тонких клиентов вычислительная нагрузка смещается с рабочих станций пользователей на сервер 1С, а СУБД выполняет запросы выборки и записи. При размещении их на одном мощном сервере ресурсы CPU распределяются более сбалансированно.

Характеристики процессоров и тип клиентов: что важно учитывать

Проанализируем требования к серверному оборудованию в зависимости от архитектуры 1С:

1. Однопоточная производительность процессора (Single-Thread Performance):
Платформа 1С критично относится к тактовой частоте процессора. Выполнение ключевых операций — проведение документов, закрытие месяца, формирование сложных отчетов — выполняется преимущественно в один поток. Процессоры с более высокой высокой тактовой частотой на одно ядро (например, линейка Xeon E3 / Xeon E-2000) обеспечивают более быстрый отклик 1С, чем многоядерные серверные процессоры с низкой базовой частотой (например, старые линейки Xeon E5500).

2. Влияние типа форм (Обычные или Управляемые):

  1. Обычные формы (толстый клиент): Основная логика интерфейса и обработки вычисляется в терминальной сессии пользователя. Сервер 1С в таком сценарии загружен слабо, а основное узкое место смещается на оперативную память и CPU терминального сервера.
  2. Управляемые формы (тонкий/веб-клиент): Вся бизнес-логика выполняется на сервере 1С. Терминальный сервер при этом становится практически ненужным: пользователи могут запускать тонкий клиент непосредственно со своих рабочих станций или через веб-публикацию (IIS / Apache). Это существенно экономит ресурсы сервера и лицензии Windows RDS CAL.

Тонкая настройка совмещенного сервера 1С и MS SQL

Если решение принято в пользу совмещения сервера 1С и MS SQL на одной физической машине, необходимо выполнить ряд обязательных настроек, чтобы службы не блокировали ресурсы друг друга.

1. Ограничение оперативной памяти для MS SQL (Max Server Memory):
По умолчанию MS SQL Server стремится занять всю доступную в системе оперативную память. Обязательно установите жесткий лимит Max Server Memory в настройках SQL Server, оставив достаточный запас RAM под нужды ОС и рабочих процессов 1С (rphost). Если SQL заберет всю память, процессы 1С уйдут в файл подкачки (swapping), что приведет к катастрофическому падению скорости работы.

2. Включение протокола Shared Memory:
Чтобы задействовать протокол обмена через общую память, при настройке параметров подключения базы данных 1С к MS SQL в поле «Сервер БД» необходимо указывать localhost или точку .. Указание сетевого имени сервера или его IP-адреса может заставить систему работать через сетевой интерфейс Loopback, снижая скорость обмена.

3. Оптимизация параметров MS SQL для 1С:

  1. MAXDOP (Max Degree of Parallelism): Для баз данных 1С рекомендуется устанавливать значение MAXDOP = 1, чтобы исключить взаимные блокировки при параллельном выполнении запросов СУБД.
  2. Параметр Cost Threshold for Parallelism: Если MAXDOP задан больше 1, значение этого параметра следует увеличить с 5 до 50 и выше.
  3. Конфигурация TempDB: Создайте несколько одинаковых файлов данных для базы TempDB (соразмерно числу ядер процессора, обычно до 8 файлов) с одинаковым размером и фиксированным шагом авторасширения.
  4. Право Instant File Initialization: Предоставьте учетной записи службы MS SQL право Perform Volume Maintenance Tasks (Обслуживание томов) в локальной политике безопасности Windows для быстрого создания и расширения файлов БД.

4. Ограничения процессов rphost в кластере 1С:
В консоли администрирования кластера 1С укажите параметры перезапуска рабочих процессов (предельный объем выделенной памяти и критический объем памяти), чтобы не допустить утечек RAM при выполнении некорректных запросов пользователей.

Пошаговый порядок переноса службы 1С на новый сервер

Рассмотрим алгоритм быстрого перевода кластера 1С на сервер БД с минимальным простоем пользователей:

  1. Устанавливаем и настраиваем платформу «1С:Предприятие» и службу 64-разрядного сервера на целевом сервере БД.
  2. Переносим или активируем ключи защиты 1С (HASP / программные лицензии).
  3. В консоли администрирования нового кластера 1С создаем и регистрируем информационные базы, указывая локальный SQL-сервер (localhost) и соответствующие имена баз данных СУБД.
  4. Останавливаем службу сервера 1С на старом сервере для предотвращения новых подключений.
  5. Обновляем список информационных баз у пользователей. При использовании единого файла списка баз ibases.v8vi достаточно изменить имя сервера 1С в строках подключения или централизованно распространить обновленный файл списка баз пользователям.
  6. Проверяем подключение пользователей к новому кластеру и контролируем показатели нагрузки процессора и памяти.
← На главную