Будет ли установка виртуальной машины с более чем 1 процессором / ядром действительно улучшать производительность?


11

Когда я использую рабочую станцию ​​VMware, я могу установить виртуальную машину с несколькими ядрами. Я на самом деле использую его на машине с двумя ядрами и 4 логическими ядрами. Так я бы действительно улучшил производительность VMS, используя больше ядер на виртуальной машине?


3
Стоит помнить одну вещь при определении размера виртуальных гостей: если это принесло бы пользу установке на реальной машине, то это принесет пользу как виртуальной машине, и наоборот. И самое главное: ничего магического не происходит с требованиями к системе или приложению только потому, что вы виртуализировали что-то .
Роб Мойр

Ответы:


8

это зависит от того, на какой виртуальной машине работает, гость на машине с n числом ядер будет работать лучше при n-1 назначенных ядрах, если гость способен эффективно использовать несколько процессоров. К сожалению, самый простой способ определить это - попробовать и посмотреть. Я обычно начинаю с 2 и останавливаюсь, когда у меня заканчивается повышение производительности. Обычно 2 ядра - это то, где я вижу «сладкое пятно». Несколько комбинаций приложений / осей, с которыми я столкнулся, будут лучше масштабироваться.


6

Чтобы уточнить, вы говорите, что у вас есть двухъядерный процессор, и вы назначили 4 виртуальных процессора на виртуальной машине?

В этом случае нет; если вы назначите больше виртуальных ЦП, чем физических ядер выполнения, вы фактически увидите небольшое снижение производительности из-за накладных расходов, связанных с разделением 2 физических ядер между 4 виртуальными ядрами (плюс все, что работает на физическом хосте).

Вы увидите лучшую производительность от виртуальной машины, назначив ей 2 виртуальных ЦП.


Не обязательно - вы действительно увидите улучшение производительности, только если приложения, работающие на ВМ, смогут использовать преимущества многоядерных систем. К сожалению, хотя это 2011 год, многие приложения этого не делают.
EEAA

@ErikA Справедливая точка зрения - за исключением многопоточности приложений, я просто говорю, что, имея только 2 физических ядра, 2 виртуальных ЦП на одной виртуальной машине всегда лучше, чем 4 виртуальных ЦП.
Шейн Мэдден

да, 100% согласились по этому вопросу.
EEAA

5

Некоторое время назад мы экспериментировали ( см. Мой вопрос год назад ) с назначением виртуальных ЦП из физических ядер по сравнению с логическими ядрами (потоками) в четырехъядерных процессорах с гиперпоточностью (было доступно 8 назначаемых виртуальных ЦП). Поскольку ответы, которые я получил тогда, предложили - и наш опыт подтвердился - вы должны выделить минимальное количество ядер, которое вы можете предоставить каждому гостю, чтобы он мог работать.

При назначении большего количества виртуальных ЦП, чем физических ядер, доступных на хосте, если гости находились под одновременной нагрузкой, гиперпоточность не всегда была достаточно быстрой при переключении контекста ЦП между потоками для эффективной имитации другого ЦП. Это может привести к очень неприятным вещам для всех гостей, включая блокировки и тайм-ауты, которые могут потребовать перезагрузки, fsck и, что еще хуже, в стеке. Даже если этого не произойдет, производительность для гостей будет скорее медленной, чем быстрой.

Как сказал тогда Крис С. в своем комментарии: «всегда выделяйте как можно меньше, и вы избежите больших головных болей».

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.