Настройка современного сервера под нужды 1С:Предприятие — это комплексная задача, которая выходит далеко за рамки простой установки операционной системы и СУБД. Когда мы имеем дело с конфигурацией уровня Xeon E5-2643 v3 и 128 ГБ оперативной памяти, важно понимать, что неправильное распределение ресурсов может свести на нет всю мощность «железа». Разберем пошагово, как выжать максимум производительности из такой связки, особенно в условиях использования виртуализации Hyper-V.
Первое, с чего мы начнем — это низкоуровневые настройки сервера. Для процессоров серии Intel Xeon критически важна стабильная тактовая частота. По умолчанию многие серверы работают в режиме энергосбережения, что вызывает микро-задержки при переключении состояний процессора, которые крайне болезненны для 1С.
Проанализируем необходимые действия в BIOS:
Power Management. Это предотвратит «засыпание» ядер и снизит латентность памяти.Hyper-Threading. Для 1С зачастую рекомендуется её отключать, чтобы сервер 1С работал только на физических ядрах. Однако, если на этом же сервере планируется запуск терминальных сессий, Hyper-Threading лучше оставить включенным, но жестко ограничить ресурсы для виртуальных машин.В самой операционной системе Windows Server 2019 обязательно перейдем в панель управления электропитанием и выберем схему Высокая производительность. Это отключит парковку ядер (Core Parking), которая часто становится причиной «фризов» в работе базы данных.
Поскольку наш сервер имеет два физических процессора, мы сталкиваемся с архитектурой NUMA (Non-Uniform Memory Access). Это означает, что каждому процессору принадлежит «своя» часть оперативной памяти. Если виртуальная машина с SQL Server начнет использовать память, подключенную к другому сокету, производительность упадет из-за задержек на шине обмена данными между процессорами.
Разберем правила настройки Hyper-V для 1С:
Allow hardware NUMA spanning. Это заставит виртуальную машину умещаться в рамках одного физического узла, что критично для скорости работы СУБД.Dynamic Memory для виртуальной машины с SQL Server. SQL-сервер стремится захватить весь доступный объем кэша, и динамическое изменение памяти гипервизором приведет к постоянным конфликтам и деградации производительности. Выделим фиксированный объем, например, 80-90 ГБ из доступных 128 ГБ, оставив остальное под терминальный сервер и нужды гипервизора.Настройка СУБД — это сердце всей оптимизации. Стандартные настройки MS SQL Server ориентированы на веб-приложения или аналитические системы, но не на транзакционную логику 1С.
Рассмотрим ключевой параметр — MAXDOP (Maximum Degree of Parallelism). Для большинства баз 1С рекомендуется устанавливать значение 1. Это исключает ситуацию, когда один тяжелый запрос распараллеливается на все ядра и блокирует работу остальных пользователей. Если ваша база очень большая и отчеты строятся слишком долго, можно попробовать значение 2 или 4, но 0 (значение по умолчанию) оставлять нельзя.
Выясним причину важности настройки TempDB. База временных таблиц TempDB в 1С используется постоянно. Разделим её на несколько файлов одинакового размера. Оптимальное количество файлов — по числу ядер одного физического процессора (в нашем случае 6 или 8). Это позволит SQL-серверу производить запись во временные таблицы параллельно.
Не забудем про Instant File Initialization. Предоставим учетной записи службы SQL Server право Выполнение задач по обслуживанию томов в локальных политиках безопасности. Это позволит файлам базы данных мгновенно расширяться, не тратя время на заполнение нового пространства нулями.
Использование SSD в RAID10 — отличное решение для скорости, но оно требует понимания специфики работы контроллера. Выясним важный момент: многие аппаратные RAID-контроллеры не пробрасывают команду TRIM, что может привести к снижению скорости записи со временем.
Посмотрим на рекомендации по форматированию:
.mdf) и логи транзакций (.ldf) по разным логическим томам. Логи транзакций пишутся последовательно, и их вынос на отдельный раздел уменьшает конкуренцию за ресурсы контроллера.Поскольку SQL Server и сервер 1С находятся на одной машине (пусть и внутри одной виртуальной среды), мы можем использовать механизм Shared Memory. В строке подключения к базе данных в консоли администрирования 1С вместо имени сервера или IP-адреса можно попробовать использовать локальное обращение, что позволит обходить сетевой стек TCP/IP и ускорить обмен данными на 10-15%.
Проанализируем управление рабочими процессами rphost. В современных версиях платформы 8.3 один процесс может эффективно использовать несколько ядер, но для повышения стабильности рекомендуется настроить автоматический перезапуск процессов.
Например, в консоли кластера установим параметры:
Для 10 пользователей УТ 11.4 на терминальном сервере в Hyper-V необходимо зарезервировать около 20-24 ГБ ОЗУ (из расчета 2 ГБ на ОС и по 1.5-2 ГБ на каждого пользователя, так как управляемые формы УТ 11 довольно требовательны).
Рекомендуется выставить приоритет процессора (CPU Weight) для виртуальной машины с терминалами чуть ниже, чем для машины с SQL-сервером. Это гарантирует, что даже если пользователь запустит «тяжелый» Excel-файл внутри терминала, это не приведет к остановке обслуживания транзакций в базе данных. Таким образом, мы обеспечим баланс между комфортной работой интерфейса и стабильностью базы данных.