Ситуация, когда мощный сервер на базе современного процессора Intel Core i9-13900K, оснащенный 128 Гб оперативной памяти и сверхбыстрыми NVMe-накопителями, показывает нестабильные результаты в тесте производительности Гилева, встречается довольно часто. Проблема проявляется в "скачках" показателей: от отличных 90 единиц до катастрофических 15–25, при этом в файловом варианте база работает стабильно быстро. Разберем по шагам, почему это происходит и как настроить систему для получения максимально высоких и, главное, стабильных результатов.
Проанализируем архитектуру современных процессоров Intel 12-го, 13-го и 14-го поколений. Они используют гибридную технологию: P-cores (Performance cores — производительные ядра) и E-cores (Efficiency cores — энергоэффективные ядра). Тест Гилева является однопоточным, и основной причиной "пляшущих" результатов является то, что операционная система может назначить выполнение этого потока на медленное E-ядро.
Рассмотрим способы решения этой проблемы:
Legacy Game Compatibility Mode, которая позволяет временно "парковать" E-ядра нажатием клавиши Scroll Lock. Однако для серверного решения это не является надежным методом.SQL Server Management Studio (свойства сервера — Processor) следует снять галочку "Automatically set processor affinity mask for all processors" и вручную указать только первые потоки, которые соответствуют P-ядрам. Для i9-13900K это первые 16 потоков (8 ядер с Hyper-Threading).Выясним причину, по которой SQL-версия работает медленнее файловой. Тест Гилева крайне чувствителен к задержкам обмена данными между сервером приложений 1С и СУБД. Разберем, какие параметры SQL Server влияют на результат:
Параметр MAXDOP (Max Degree of Parallelism): Многие ошибочно оставляют этот параметр в значении 0 (использовать все ядра). Для 1С рекомендуется устанавливать значение, равное 1, либо половине физических ядер одного сокета. Однако для прохождения теста Гилева значение 1 часто дает более стабильный результат, так как исключает накладные расходы на попытки распараллеливания запроса, который по своей сути однопоточный.
Протокол Shared Memory: Проанализируем способ подключения. Если 1С и SQL Server находятся на одном физическом сервере, использование протокола Shared Memory вместо TCP/IP может поднять результат в 1.5–2 раза. Чтобы форсировать использование общей памяти, в строке соединения с сервером баз данных вместо IP-адреса или имени сервера следует использовать точку . или (local).
Даже при наличии быстрых NVMe-дисков со скоростью 7000+ Мб/с, неправильное распределение нагрузки может привести к очередям и задержкам. Рассмотрим правильную конфигурацию:
Разнесем данные по разным физическим дискам (если их 4, как в рассматриваемом случае):
TempDB и временные файлы сервера 1С.Важно: Проверьте температуру NVMe-дисков во время тестов. При интенсивной записи (особенно в TempDB) диски могут уходить в троттлинг, сбрасывая скорость в несколько раз, что объясняет падение результатов через 10 минут после начала активной работы.
Посмотрим на настройки электропитания. Стандартного режима "Высокая производительность" часто недостаточно для исключения задержек переключения частот процессора. Рекомендуем активировать схему "Максимальная производительность" (Ultimate Performance). Сделать это можно через командную строку:
powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61
Также проанализируем состояние функции Core Parking (парковка ядер). Используйте утилиты типа ParkControl, чтобы убедиться, что производительные ядра никогда не засыпают. В серверных задачах 1С время "просыпания" ядра (даже микросекунды) может существенно снижать итоговый балл в синтетических тестах.
Хотя автор темы отметил, что отключение антивируса дает небольшой прирост, проанализируем это подробнее. В Windows Defender необходимо добавить в исключения:
rphost.exe, rmngr.exe, sqlservr.exe.AppData\Local\Temp) пользователя, под которым работает служба 1С.srvinfo).Отключение Журнала регистрации (или перевод его в режим "Регистрировать только ошибки") действительно помогает в файловом варианте, но в SQL-варианте его влияние меньше, так как запись идет в базу данных, а не в текстовые файлы (если используется новый формат .lgd).
Нельзя игнорировать техническую особенность процессоров 13900K. Разберем ситуацию с лимитами потребления (Power Limits). По умолчанию многие BIOS устанавливают "Unlimited" лимиты, что ведет к мгновенному перегреву и троттлингу.
Для стабилизации производительности необходимо:
Intel Baseline Profile или вручную ограничить PL1/PL2 до рекомендуемых 253W. Это предотвратит резкие скачки частоты и сделает результаты теста стабильными на длительной дистанции.Резюмируем: Основная причина "пляски" — попадание теста на E-ядра и агрессивное управление питанием процессора. Отключение E-cores в BIOS, настройка схемы "Ultimate Performance" и форсирование протокола Shared Memory для SQL Server — это три "кита", которые позволят вернуть результат к стабильным 80–90+ попугаям.