Измерение работоспособности ресурсов виртуальных машин Hyper-V
Как узнать, использует ли ваша виртуальная машина нужное количество ресурсов? Конечно, вы можете использовать инструменты мониторинга производительности Windows Server и диспетчер Hyper-V, чтобы выяснить, сколько ресурсов потребляет ваша виртуальная машина. Однако вы обнаружите, что их результаты часто не совпадают.
Несмотря на то, что эти инструменты являются опорой ОС Windows, их измерения, как правило, вводят в заблуждение. Они обеспечивают противоречивые измерения при использовании в среде Hyper-V. В таком случае измерениям какого административного инструмента следует верить?
Вы не можете обвинять инструменты в том, что они делают. Вина заключается в том , как вы используете инструменты и с какой целью. В этой статье я поделюсь тремя своими рекомендациями по мониторингу производительности в среде Hyper-V.
3 рекомендации по мониторингу производительности Hyper-V
У вас есть 3 передовых метода, на которые вы можете ссылаться при мониторинге производительности вашей среды Hyper-V.
1. Знайте, что вы измеряете
Первое правило мониторинга производительности среды Hyper-V — знать , что вы на самом деле измеряете.
Бесчисленные сообщения в блогах предостерегают от запуска монитора производительности внутри виртуальной машины Hyper-V. Но я не нашел в этом проблемы. Все будет хорошо, если вы знаете, что измеряете.
Итак, почему люди советуют не запускать монитор производительности внутри виртуальной машины? Основная причина — противоречивые отчеты о потреблении ресурсов.
Вместо того, чтобы показывать вам реальное потребление ресурсов, монитор производительности (при запуске внутри виртуальной машины) показывает вам относительное потребление. статистика.
Демонстрация
Для демонстрации я создал виртуальную машину Windows 11 на хосте Hyper-V. Затем я запустил монитор производительности изнутри виртуальной машины. После запуска я отслеживал, сколько мощности процессора использовала виртуальная машина.
Затем я загрузил инструмент CPU Stress от Sysinternals. Этот инструмент нагружает ЦП виртуальной машины, поэтому мы можем протестировать его на максимальную мощность. Как показано на рисунке ниже, этот инструмент максимально загрузил ЦП виртуальной машины.
Когда процессор был загружен на полную мощность, я переключился на диспетчер Hyper-V. Как показано на рисунке ниже, диспетчер Hyper-V показывает, что виртуальная машина работает только на 12% мощности ЦП.
Теперь, если я запущу монитор производительности на хосте Hyper-V, он покажет среднюю загрузку ЦП 0%.
Итак, подведем итог: монитор производительности показывает 100% загрузку ЦП при запуске из виртуальной машины. Однако он показывает 0% использования ЦП при запуске извне виртуальной машины. Как видите, оба этих результата противоречат друг другу. Чтобы еще больше усложнить ситуацию, диспетчер Hyper-V показывает 12% использования ЦП для виртуальной машины.
Так какому же измерению верить?
На самом деле все они правильные.
Во-первых, измерение внутри виртуальной машины показывает, что машина использует 100% ресурсов ЦП, которые ей были выделены.
Во-вторых, измерение уровня хоста Hyper-V показывает, что родительская ОС не использует ни один из выделенных ресурсов ЦП. Это означает, что ОС не знает о ресурсах, потребляемых виртуальной машиной.
Наконец, диспетчер Hyper-V показывает, что виртуальная машина использует около 12% всех ресурсов ЦП физического сервера.
2. Используйте правильные счетчики
Моя вторая лучшая практика для мониторинга производительности — использовать счетчики монитора производительности, поддерживающие Hyper-V. Счетчики производительности проверяют использование ресурсов программой. %Total Run Time логического процессора гипервизора Hyper-V — это счетчик, который измеряет нагрузку на ЦП.
Давайте посмотрим, что он делает.
Вы запускаете монитор производительности на хосте Hyper-V. Используйте счетчик, упомянутый выше, чтобы определить потребление ресурсов ЦП вашей виртуальной машины.
Как показано на рисунке ниже, этот счетчик показывает результат, соответствующий тому, что показывает диспетчер Hyper-V.
3. Знайте, что нормально для ваших виртуальных машин
Моя третья рекомендация по мониторингу производительности Hyper-V — знать нормальные измерения вашей виртуальной машины.
Это и есть мониторинг производительности. Например, когда вы представляете и запускаете новую рабочую нагрузку в сети, соберите ее базовые показатели с помощью системного монитора.
Таким образом, если рабочая нагрузка превышает емкость ресурсов, вы можете сравнить ее с базовым значением.
Давайте закругляться!
Последние мысли
Различные инструменты администрирования на серверах Windows дают разные результаты по потреблению ресурсов ЦП. Это может сбивать с толку, чтобы справиться с этой проблемой. Если вы оказались в такой ситуации, используйте стратегии, о которых я говорил в статье.
Как правило, всегда точно знайте, что вы пытаетесь измерить с помощью этих инструментов.
Кроме того, используйте правильные счетчики при измерении виртуализированных сред. Правильные счетчики дадут результаты, соответствующие отчетам диспетчера Hyper-V.
Наконец, запишите базовый уровень для любой новой рабочей нагрузки, которую вы добавляете в свою среду Hyper-V. Это будет эталоном, по которому вы будете измерять проблемы с потреблением ресурсов, если они возникнут.
У вас есть дополнительные вопросы о проверке работоспособности ресурсов хоста Hyper-V? Ознакомьтесь с разделами часто задаваемых вопросов и ресурсов ниже!
Часто задаваемые вопросы
Что делает инструмент стресса процессора Sysinternals?
Инструмент Sysinternals CPU Stress создает потоки. Вы назначаете уровни активности для каждого из этих потоков. Это позволяет сильно нагружать ЦП. Поэтому вы можете использовать его для стресс-тестирования системы, чтобы оценить ее общую производительность.
Почему счетчик %общего времени работы логического процессора гипервизора Hyper-V отображает значение, отличное от счетчика %процессорного времени?
Счетчик %Processor Time показывает нагрузку, которую несет ЦП хоста. Просто, насколько родительская ОС загружает ресурсы ЦП. С другой стороны, счетчик логического процессора гипервизора Hyper-V %Total Run Time показывает нагрузку, создаваемую виртуальными машинами на хосте.
Каково здоровое значение для использования ЦП?
Эксперты Windows Server высказывают разные мнения о том, что такое правильная загрузка ЦП. Я читал некоторые статьи, в которых советуют не подниматься выше 75% нагрузки. Другие утверждают, что 90%-ная загрузка процессора приемлема. На мой взгляд, если виртуальная машина Hyper-V в среднем загружает более 80% ЦП (при измерении внутри виртуальной машины), вам следует добавить больше ресурсов ЦП в виртуальную машину.
В чем преимущество использования диспетчера задач вместо системного монитора?
Диспетчер задач также может измерять производительность ПК с Windows, как и монитор производительности. Тем не менее, диспетчер задач подходит для базового мониторинга. С другой стороны, Performance Monitor выполняет более детальный мониторинг.
Что такое родной инструмент, представляющий собой сочетание диспетчера задач и монитора производительности?
Монитор ресурсов — хороший промежуточный инструмент. Хотя он не такой детальный, как Performance Monitor, его проще использовать. Более того, он предоставляет немного больше деталей, чем диспетчер задач.