У меня возникли случайные неожиданные замедления работы виртуального SQL Server, которые я не могу отнести к рабочей нагрузке, хранилищу или ЦП (фактически, это продолжалось после того, как хост был эвакуирован с других виртуальных машин).
Я подозреваю это мощь быть связаны с конфигурацией NUMA - особенно с тем, как отображается физическая память.
Бег coreinfo
показывает следующую стоимость доступа к узлу между NUMA:
Approximate Cross-NUMA Node Access Cost (relative to fastest):
00 01
00: 1.0 1.3
01: 1.4 1.5
Что кажется странным - я ожидал, что 01-01 будет ближе к 1.0, а штраф будет между узлами.
Я думаю, это говорит о том, что память выделяется на первом узле pNUMA на Vmware и может вызывать снижение производительности при доступе к памяти со второго узла vNUMA.
Поскольку SQL Server поддерживает NUMA, может ли он делать предположения о влиянии доступа к памяти между NUMA, которое повлияет на производительность в этом сценарии (т. Е. Пытается сохранить доступ на одном узле и избежать доступа с перекрестным NUMA)?
Могу ли я предпринять какие-либо шаги, чтобы убедиться, что память равномерно распределяется между узлами pNUMA?
Хост выглядит следующим образом:
ВМ выглядит следующим образом:
EDIT: x-mem показывает следующее, что не соответствует coreinfo
xmem-win-x64.exe -j6 -s -R -l -f test.csv -n5
00 01
00 1.21124 1.18519
01 1.19831 1.18695