Лучшие практики настройки VmWare для MS SQL Server
Рекомендации по настройки виртуальной машины для SQL
- Не использовать 8 vSocket/1 vCore , а использовать 1 vSocket /8 vCore
- Не отключать Hyper-threading
- Не включать горячую замену CPU и MEM
- Для дополнительных дисков использовать Paravirtual (SCSI)
- Для сети VMXNet3
- Чем меньше vCPU и памяти для ВМ тем лучше для хоста при множестве ВМ
- Не создавать ВМ с памятью больше NUMA хоста, а если нужно больше то два vSocket
- Не создавать ВМ с большим количеством vCPU, чем у физического хоста
- Для быстродействия нельзя превышать общее число vCPU, не путая их с lCore логическими потоками
- Нужно зарезервировать для ВМ всю выделенную память в Vmware
- Хранилища отформатированы в VMFS (строго нельзя старые VMFS3)
- Антивирус без режима проверки реального времени
- Сеть включен rss на сетевой
Нужно учитывать и нагрузку самой vmware на CPU, так как она все же делает фризы на ВМ.
И еще если у нас настроено 8 vSocket/1 vCore то SQL Std будет использовать только 4 vCPU.
Термины
pCPU — физический процессор, сокет, socket
pCore — физическое ядро
vSocket — виртуальный процессор, сокет, socket
vCore — виртуальное ядро
vCPU — виртуальный процессор ( vSocket * vCore )
lCore — логическое ядро, поток из за Hyper-threading
документы от vmware по лучшим практикам https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/solutions/sql-server-on-vmware-best-practices-guide.pdf
https://docs.microsoft.com/ru-ru/sql/database-engine/configure-windows/soft-numa-sql-server?view=sql-server-ver15