Гайд 1С: Настройка параметров виртуализации Hyper-V и VMware (NUMA, vCPU)
При размещении сервера 1С и СУБД (MS SQL / PostgreSQL) на виртуальных машинах возникают следующие признаки деградации:
- Низкая производительность тестов Гилёва при мощных физических процессорах (оценка ниже 20-25 баллов).
- Высокий показатель
%RDY(CPU Ready) в VMware ESXi (более 3-5%), свидетельствующий о дефиците квантов процессорного времени. - Задержки межпоточного взаимодействия из-за обращений к удаленной памяти (NUMA Remote Node Access).
- Периодические кратковременные микрофризы интерфейса пользователей в моменты фоновой сборки мусора гипервизором.
1. Топология сокетов и настройка vNUMA
Виртуальная машина с сервером 1С или СУБД не должна пересекать границы физической NUMA-ноды без явной необходимости. Если сервер имеет 2 физических сокета по 16 ядер (всего 32 ядра и 2 NUMA-ноды по 128 ГБ RAM):
- Выделяйте для ВМ не более 16 vCPU и не более 120 ГБ памяти, чтобы ВМ полностью помещалась внутри одной физической NUMA-ноды.
- В VMware ESXi задайте параметр
numa.autosizing.vcpu.maxPerVirtualNode, чтобы топология vNUMA строго соответствовала физической топологии хоста. - В Hyper-V отключите NUMA Spanning в глобальных настройках хоста (Hyper-V Settings -> NUMA Spanning -> Disable), чтобы запретить аллокацию «чужой» медленной памяти.
2. Исключение vCPU Overcommit и резервирование ресурсов
Для баз уровня Enterprise коэффициент переподписки vCPU:pCPU для хостов 1С/СУБД должен составлять 1:1.
# Настройка 100% резервирования памяти в VMware (Memory Reservation)
# Исключает использование механизма Memory Ballooning и swap гипервизора
Reservation = Maximum (All locked)3. Профиль электропитания и управление задержками
- В BIOS/UEFI сервера переведите режим питания в High Performance / Maximum Performance.
- Отключите C-States, C1E и включите постоянную фиксацию частоты турбо-буста.
- В VMware установите политику питания хоста:
High Performance Profile. - Используйте контроллеры VMware Paravirtual SCSI (PVSCSI) и сетевые адаптеры VMXNET3 с включенным RSS (Receive Side Scaling).
Частые вопросы (FAQ)
Почему отключение NUMA Spanning в Hyper-V критично для 1С?
При включенном NUMA Spanning гипервизор может выделить виртуальной машине память из разных физических сокетов. Обращение процессора к оперативной памяти соседнего сокета через шину UPI/QPI вызывает штраф по задержке (NUMA Penalty) до 30-40%.
Какой допустимый порог CPU Ready (%RDY) в ESXi для сервера 1С?
Для высоконагруженных систем 1С показатель %RDY на одно виртуальное ядро не должен превышать 1.5-2%. Значения выше 5% означают критическое отставание шедулера гипервизора.
Нужно ли включать Hyper-Threading на хосте виртуализации под 1С?
Да, HT включать нужно, однако при распределении vCPU следует учитывать только физические ядра (Core), а не логические потоки (Threads), чтобы не допускать конкуренции очередей.
Влияет ли динамическое выделение памяти (Dynamic Memory) на скорость работы 1С?
Категорически запрещено использовать Dynamic Memory / Ballooning для серверов 1С и СУБД. Память должна быть статически зафиксирована (100% Reservation).