Я использую конфигурацию частного облака vSphere у поставщика управляемого хостинга. Физические хосты имеют двухъядерные 14-ядерные процессоры и 128 ГБ оперативной памяти каждый.
Приложение, которое мы запускаем, может выполнять многопоточные дорогостоящие вычислительные задачи, и я попросил поставщика создать три виртуальные машины с 20 виртуальными ЦП каждая и 32 ГБ ОЗУ. Обратите внимание, что соотношение виртуальных ЦП к физическому ядру останется чрезвычайно низким, не намного больше 1, а общий объем оперативной памяти будет недовыполнен на нормальный объем.
Инженеры поставщика утверждают, что виртуальная машина с 20 виртуальными ЦП отрицательно скажется на производительности, поскольку она охватывает более одного физического (14-ядерного) сокета ЦП, даже если на каждом хосте доступно 28 физических ядер. Для меня это не имеет смысла, но я недостаточно знаю об этом и обычно полагаюсь на рекомендации поставщиков. Правы ли они об этом предупреждении?
В целом это плохая идея, если вы не можете реально оправдать количество процессоров.
Пожалуйста, возложите бремя на поставщика услуг. Что Oни рекомендуете делать, исходя из загруженности?
NUMA - меньшая проблема. Но на практике очень немногим виртуальным машинам в моей среде когда-либо требовалось такое количество процессоров. Конечно, до этого момента было больше возможностей и мест для оптимизации.
Я был по обе стороны от такого типа инфраструктуры. Отстойно, что это именно то, что вам нужно для вашего приложения ... но на самом деле обязанность провайдера - заставить его работать (или установить максимальные параметры).
По сути, вы создаете одну виртуальную машину на хост из-за размера предлагаемой виртуальной машины. Это основная причина, по которой инженеры сопротивляются. Хост становится значительно менее полезным, если он может вместить только одну из этих виртуальных машин.