Ситуация, когда мощное серверное оборудование (например, Xeon E5-2630 v4 с 96 ГБ ОЗУ) выдает скромные 15–19 единиц в тесте Гилева, встречается довольно часто. Провести замер производительности контура 1С и поиск узких мест необходимо в первую очередь, чтобы понять причины низких показателей. Проблема заключается в том, что 1С:Предприятие критично к частоте одного ядра, а серверные процессоры по умолчанию настроены на энергосбережение и распределение нагрузки. В этой статье мы подробно рассмотрим, как выжать максимум из вашего сервера, разберем настройки BIOS, оптимизируем SQL Server и настроим операционную систему для стабильной и быстрой работы.
Проанализируем ситуацию: процессор Xeon E5-2630 v4 имеет базовую частоту всего 2.2 ГГц. Для 1С это крайне мало. Однако в режиме Turbo Boost он может разгоняться до 3.1 ГГц. Наша задача — заставить его работать на максимальной частоте постоянно.
Рассмотрим по шагам настройки BIOS, которые необходимо проверить и изменить:
Performance или Custom. Это базовый шаг, который отключает большинство функций снижения вольтажа.После внесения правок обязательно проконтролируйте результат с помощью утилиты CPU-Z или встроенного монитора ресурсов. Частота должна быть стабильной и не «скакать» под нагрузкой.
Даже если в BIOS все настроено верно, Windows может принудительно парковать ядра или снижать частоту. Разберем, как этого избежать.
Во-первых, выберем схему управления питанием «Высокая производительность». Но этого мало. Нужно зайти в дополнительные параметры питания и убедиться, что минимальное состояние процессора установлено на 100%.
Во-вторых, рассмотрим проблему «Парковки ядер» (Core Parking). По умолчанию ОС может переводить неиспользуемые ядра в режим сна. Для 1С это губительно. Мы рекомендуем использовать реестр для отключения этой функции. Проанализируем пример настройки:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\0cc5b647-c1df-4637-891a-dec35c3585f0]
"Attributes"=dword:00000000
После применения этой настройки в параметрах питания появится пункт «Максимальное число припаркованных ядер», где нужно установить 0%.
Настройка базы данных — это 50% успеха. Мы рекомендуем анализировать SQL сервер глазами 1С-ника, чтобы выявить скрытые проблемы. Рассмотрим основные параметры, которые напрямую влияют на «попугаи» в тесте Гилева и скорость открытия документов.
Параметр MAXDOP (Max Degree of Parallelism): Для 1С золотым правилом является установка MAXDOP = 1. Это заставляет SQL Server выполнять один запрос в рамках одного потока. Выясним причину: 1С генерирует огромное количество мелких запросов, и затраты на их распараллеливание и последующую сборку данных превышают выигрыш от использования нескольких ядер.
Настройка памяти: SQL Server склонен поглощать всю доступную память. В системе с 96 ГБ ОЗУ крайне важно ограничить Maximum server memory. Рекомендуем оставить ОС и процессам rphost около 16–20 ГБ, выделив под SQL порядка 75 ГБ. Чтобы грамотно планировать ресурсы, полезно знать размер таблиц базы данных. Это предотвратит использование файла подкачки (swapping), который работает в тысячи раз медленнее ОЗУ.
Мгновенная инициализация файлов (Instant File Initialization): По умолчанию при расширении базы данных SQL заполняет новое пространство нулями. Это блокирует работу. Чтобы избежать этого, добавим учетной записи SQL Server право Perform volume maintenance tasks (Выполнение задач по обслуживанию томов) в локальных политиках безопасности Windows.
В обсуждении часто упоминается использование RAID10. Если этот массив собран на классических HDD, он никогда не даст высоких показателей в 1С из-за высокого времени отклика (Latency).
Рассмотрим рекомендации по дискам:
.mdf и .ldf всегда выбирайте размер кластера 64 КБ. Это стандарт для SQL Server, который значительно снижает фрагментацию и ускоряет ввод-вывод.Проанализируем настройки самого кластера 1С. Если SQL Server и сервер 1С находятся на одной физической машине, обязательно используйте протокол Shared Memory. Это позволяет процессам rphost и sqlservr обмениваться данными напрямую через оперативную память, минуя сетевой стек TCP/IP.
Для активации Shared Memory в строке подключения к серверу баз данных вместо имени сервера или IP-адреса можно попробовать использовать lpc:ИмяСервера, но чаще достаточно просто включить соответствующий протокол в SQL Server Configuration Manager.
Также не забывайте про регламентные операции:
rphost при достижении определенного объема памяти или по расписанию ночью.Резюме: Достижение 30–35 попугаев на Xeon E5-2630 v4 — задача реальная, но она требует комплексного подхода. Нельзя просто выключить энергосбережение и надеяться на чудо. Только совокупность высокой частоты процессора (Turbo Boost), быстрой дисковой подсистемы (NVME) и точной настройки SQL Server (MAXDOP, Memory) позволит вашим пользователям забыть о долгом отклике системы.