Лучшие практики настройки VmWare для MS SQL Server 

Лучшие практики настройки 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