1С и SQL: Как правильно разместить сервера для максимальной производительности?

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

Вопрос оптимального размещения серверов 1С и SQL Server является фундаментальным при проектировании ИТ-инфраструктуры предприятия. Часто перед системными администраторами встает дилемма: использовать ли преимущества виртуализации или отдать предпочтение "голому железу" (Bare Metal), а также стоит ли разносить эти роли по разным физическим серверам. В данной статье мы подробно разберем, как количество пользователей, архитектура процессоров и настройки гипервизора влияют на скорость работы 1С.

Физические сервера или виртуальные машины: где грань?

Рассмотрим ситуацию, когда в компании работает около 50–60 пользователей в конфигурациях 1С:ERP, Зарплата и управление персоналом и Бухгалтерия предприятия. На первый взгляд, виртуализация кажется идеальным решением благодаря гибкости бэкапов, быстрой миграции между хостами и удобству администрирования. Однако, проанализируем ситуацию с точки зрения "чистой" производительности.

Виртуализация всегда вносит накладные расходы (overhead). По различным оценкам, потеря производительности составляет от 10% до 20% по сравнению с физическим сервером. В критических задачах, таких как закрытие месяца в ERP, это может привести к кратному увеличению времени выполнения операций. Если на физическом сервере процедура занимает 14 часов, то в плохо настроенной виртуальной среде она может растянуться на двое суток. Это происходит из-за того, что 1С крайне чувствительна к задержкам доступа к памяти и процессору.

Частота процессора — главный фактор для 1С

Разберем, почему количество ядер часто оказывается менее важным, чем тактовая частота. Архитектура 1С такова, что многие критические операции (например, проведение одного документа) выполняются в один поток. Это означает, что если у вас процессор с частотой 2.0 ГГц, то даже наличие 56 ядер не спасет систему от "подтормаживаний".

Для комфортной работы 1С:ERP и большого количества пользователей рекомендуется использовать процессоры с базовой частотой от 3.0–3.5 ГГц. Процессоры с низкой частотой (например, серверные линейки Intel Xeon Silver с 2.1 ГГц) хорошо подходят для веб-серверов или баз данных с параллельными запросами, но для сервера приложений 1С они могут стать "бутылочным горлышком".

Размещение 1С и SQL: вместе или раздельно?

Выясним, какой вариант размещения ролей будет более эффективным:

  1. На одном сервере (Shared Memory): Если сервер приложений 1С и SQL Server установлены в рамках одной операционной системы, они могут использовать протокол Shared Memory. Это позволяет обмениваться данными через оперативную память, минуя сетевой стек TCP/IP. Это самый быстрый способ взаимодействия, минимизирующий задержки.
  2. На разных серверах в рамках одного хоста: Если 1С и SQL находятся в разных виртуальных машинах на одном физическом сервере, трафик идет через виртуальный коммутатор (vSwitch). Это медленнее, чем общая память, но быстрее, чем физическая сеть 10Gb.
  3. На разных физических серверах: Этот вариант необходим при высокой нагрузке (от 100–150 пользователей), когда ресурсов одного физического сервера (CPU и RAM) перестает хватать на обе роли. Здесь критически важна сеть 10Gb и минимальные задержки коммутации.

Оптимизация виртуальной среды под 1С

Если решение об использовании виртуализации принято, проанализируем ключевые настройки, которые помогут минимизировать потери производительности:

1. Архитектура NUMA. Современные двухпроцессорные системы используют архитектуру Non-Uniform Memory Access. Проанализируем ситуацию: если ваша виртуальная машина требует 128 ГБ ОЗУ, а физический процессор (сокет) имеет доступ только к 64 ГБ локальной памяти, гипервизору придется обращаться к памяти второго процессора. Это создает огромные задержки. Рекомендация: создавайте ВМ такого размера, чтобы она целиком помещалась внутри одного физического процессорного сокета (одного NUMA-узла).

2. CPU Reservation. В виртуальной среде часто возникает проблема "шумных соседей". Если другие виртуальные машины начнут активно потреблять ресурсы, сервер 1С будет ждать своей очереди. Чтобы этого избежать, необходимо установить параметр Reservation для CPU и RAM на 100%. Это гарантирует, что зарезервированные ресурсы не будут отданы другим ВМ ни при каких обстоятельствах.

3. Настройка электропитания в BIOS. По умолчанию серверы настроены на энергосбережение. Для 1С это губительно. Пока процессор "просыпается" и поднимает частоту Turbo Boost для выполнения короткой операции проведения документа, сама операция уже может завершиться на пониженной частоте. Необходимо выставить профиль Maximum Performance в настройках BIOS сервера.

Тонкая настройка SQL Server для работы с 1С

Посмотрим на настройки SQL Server, которые критичны в виртуальной среде:

Подведем итоги: стратегия масштабирования

Проанализировав опыт эксплуатации систем на 50 пользователей, можно сделать следующий вывод. При текущей нагрузке (46–55 пользователей) размещение в виртуальных машинах допустимо, если физический процессор обладает достаточной частотой. Однако при росте количества пользователей до 100+ и выше, следует рассмотреть переход на следующую схему:

  1. Выделенный физический сервер под SQL Server с быстрыми NVMe дисками.
  2. Выделенный физический сервер под сервер приложений 1С с процессором максимальной частоты (например, Intel Xeon Gold или даже высокочастотные десктопные решения в специализированных серверных корпусах для небольших баз).
  3. Разделение баз 1С:ERP и ЗУП на разные рабочие процессы 1С для исключения взаимного влияния тяжелых расчетов.

Рассмотрим пример настройки параметров в консоли администрирования серверов 1С для оптимизации нагрузки при большом количестве пользователей:


Количество ИБ на процесс = 1
Количество соединений на процесс = 25
Плечо максимума производительности = 80%

Такая структурная настройка позволит системе более плавно распределять пользователей по рабочим процессам, не допуская перегрузки отдельного экземпляра rphost. Помните, что производительность 1С — это комплексная задача, где железо, настройки ОС, настройки гипервизора и параметры самой платформы 1С должны работать синхронно.

← На главную