У нас есть серьезные проблемы с производительностью на клиенте ESX, но я не могу напрямую просматривать конфигурацию сервера, но я хочу узнать, правильно ли они его настроили.
Запуск CPU-Z показывает мне два процессора с каждым одним ядром, в то время как у меня есть процессоры Yorkfield, и, следовательно, ожидаю появления четырех ядер. Так виртуальные процессоры отображаются в CPU-Z?
Как мне определить на клиенте, как он настроен в ESX? Я понимаю, что в ESX может быть включен HT. Моя система интенсивно использует SMP, поэтому она должна принести пользу. Насколько я понимаю, ESX настроен для двух виртуальных ЦП. Правильно ли я прочитал данные?
РЕДАКТИРОВАТЬ: в основном есть две причины подавления ЦП. Во-первых, приложения не идеальны, мы над этим работаем. Во-вторых, нам не хватает мощности процессора. Образ поступает с аналогичной собственной машины и теперь находится на виртуальной машине. Производительность должна быть аналогичной, но это не так. Обычно мы могли иметь дело с 500+ сессиями на каждую собственную систему. В этой системе удушение начинается примерно с 280 сеансов. Я знаю, что обвинять конфигурацию процессора немного недальновидно, но после двух дней интенсивного мониторинга и профилирования все это действительно начинает указывать в этом направлении (память, дисковый ввод-вывод, соединение с базой данных и сеть работают нормально).
Если вы получаете 280 сеансов на виртуальной машине с двумя виртуальными ЦП и 500+ на одном физическом блоке с использованием всех 4 ядер, то с этой конфигурацией виртуальной машины вы приближаетесь к производительности на «голом железе». Перенастройте виртуальную машину для использования 4 виртуальных ЦП, и производительность должна приблизиться, если ничто другое на узле ESX не потребляет значительных ресурсов. Однако для виртуальной машины с 4 виртуальными ЦП, работающей на хосте с 4 ядрами с одним процессором, накладные расходы на гипервизор будут занимать некоторую долю от общей мощности, что может быть весьма значительным. Гипервизор ESX будет планировать вашу виртуальную машину только тогда, когда он может планировать все 4 виртуальных ЦП одновременно, поэтому все остальные запущенные (гипервизор, сервисная консоль, другие виртуальные машины) будут вызывать остановку всех 4 виртуальных ЦП при такой настройке. В этой настройке, если вы можете запустить свое приложение на двух виртуальных машинах с двумя виртуальными ЦП, вы можете обнаружить, что оно лучше масштабируется даже с дополнительными накладными расходами на запуск дополнительной гостевой ОС, проблема планирования будет намного проще для гипервизора. с as вы остановите только два ядра, когда другим задачам необходимо предоставить доступ к ресурсам ЦП.
Каждый виртуальный ЦП VMware соответствует одному ядру в многоядерной системе, именно так VMware распределяет ресурсы процессора. Yorkfield - это Core2 Quad и определенно не поддерживает HT - у него 4 физических ядра без ядер HT.
CPU-Z, работающий на виртуальной машине, будет сообщать только количество виртуальных ЦП, представленных виртуальной машине, хотя он правильно определит базовый процессор. В зависимости от версии ESX и того, как настроена виртуальная машина, она может представлять их как двухъядерный одноядерный процессор или как два отдельных процессора, но это не влияет на производительность, это просто выбор представления, который используется для облегчения определенных ситуаций лицензирования.
Отредактировано для предоставления более точных и актуальных данных:
О строгом совместном расписании, сделанном выше, было немного отвлекающим маневром. ESX использует расслабленный механизм совместного планирования, начиная с ESX V3, который допускает некоторую свободу действий (дрейф часов между ядрами vCPU) и который улучшился в последующих версиях.
По-прежнему в целом верно, что виртуальная машина, которая представляет столько виртуальных ЦП, сколько есть физических ядер, будет иметь больше проблем с планированием под нагрузкой, чем виртуальная машина с меньшим количеством виртуальных ЦП, но это не так драматично, как это видно в моем первоначальном ответе. Очень подробное объяснение того, как это работает на самом деле, можно найти в этот технический документ VMware.
Когда система ограничена ЦП, сколько процессов используют ЦП? То, что вы описываете, подразумевает, что есть только один работающий процесс.
Процессоры Yorkfield не поддерживают HT, так что вы можете это исключить.