Вы здесь

Мониторинг производительности Hyper-V


Если речь идет о мониторинге производительности ОС на аппаратной («железной») платформе, то мало у кого возникает вопрос как это делать.

Существуют уже давно известные инструменты и способы мониторинга таких систем. Но вот когда речь заходит о мониторинге производительности гипервизора с запущенными на нем виртуальными машинами, тут уже не все так однозначно, а особенно с гипервизором Hyper-V от компании Microsoft. Наглядную картину производительности могут дать такие продукты как System Center Operations Manager (SCOM), но не всегда есть возможность использовать такое громоздкое ПО.

По этому в этой статье будут рассмотрены: способ мониторинга производительности Hyper-V с помощью счетчиков производительности. мониторинг производительности в реальном времени отслеживание производительности за определенный период времени. автоматизация процесса мониторинга производительности.

Мониторинг производительности Hyper-V с помощью счетчиков

В первую очередь нужно сказать, что для мониторинга гипервизора необходимо использовать специальные счетчики, не такие как для мониторинга традиционного сервера. Наиболее важными являются следующие 4 типа ресурсов: Процессор Диск Память Сеть

Рассмотрим и дадим описание счетчиков для каждого типа ресурсов:

Процессор

Для того что бы посмотреть суммарную нагрузку на физический процессор которую создают все виртуальные машины и сам гипервизор, необходимо использовать следующий счетчик: \Hyper-V Hypervisor Logical Processor(_Total)\% Total Run Time Название счетчика по-русски: Логический процессор низкоуровневой оболочки Hyper-V \ % общего времени работы Если же необходимо определить, процессор какой именно виртуальной машины создает наибольшую нагрузку, то необходимо использовать этот счетчик: \Hyper-V Hypervisor Virtual Processor\% Total Run Time Название счетчика по-русски: Виртуальный процессор низкоуровневой оболочки Hyper-V \ % общего времени работы

Диск

Информацию о времени затраченном системой (гипервизором в целом и виртуальными машинами) на чтение/запись информации с жесткого диска показывают след. счетчики: \Logical Disk(*)\Avg. Disk sec/Read Название счетчика по-русски: Логический диск\Среднее время чтения с диска (с) \Logical Disk(*)\Avg. Disk sec/Write Название счетчика по-русски: Логический диск\Среднее время записи на диск (с) Значение данных счетчиков не должно превышать 25мс, иначе будут наблюдаться проблемы с производительностью которые нужно решать.

Память

Для того что бы посмотреть количество страниц памяти записанных/считанных с жесткого диска, для хост и гостевых систем, используется следующий счетчик: \Memory\Pages/sec Название счетчика по-русски: Память\Обмен страниц/с Если значение больше 500, значит либо недостаточно физической памяти, либо используется «битая» планка памяти. Если же вы используете Dynamic Memory, то вам необходимо пользоваться счетчиками для объектов Hyper-V Dynamic Memory Balancer и Hyper-V Dynamic Memory VM.

Сеть

Для определения числа потоков ждущих сетевого адаптера, используются следующий счетчик: \Network Interface(*)\Output Queue Length Название счетчика по-русски: Сетевой интерфейс\Длина очереди вывода

Показания данного счетчика всегда должно быть 0, если же оно равно 1 или 2, значит сеть – узкое место в вашей системе. Общую нагрузку в Байт/сек для интерфейса можно узнать с помощью счетчика: \Network Interface(*)\Bytes Total/sec Название счетчика по-русски: Сетевой интерфейс\Всего байт\сек Для того что бы определить какой именно виртуальный сетевой адаптер (какой именно виртуально машины) создает нагрузку, воспользуйтесь следующим счетчиком: \Hyper-V Virtual Network Adapter(*)\Bytes/sec (для каждой виртуальной машины) Название счетчика по-русски: Виртуальный сетевой адаптер Hyper-V\Байт/сек

Мониторинг производительности в реальном времени

Собственно, для наблюдения за производительностью в реальном времени, используется все тот же инструмент Performance Monitor (Системный монитор) который уже давно известен. Доступ к нему можно получить либо через диспетчер сервера, либо выполнив команду perfmon. После запуска оснастки необходимо добавить в нее описанные выше счетчики и получать наглядную информацию о производительности гипервизора.

После того как все необходимы счетчики будут добавлены и настроены, очень хотелось бы сохранить все параметры Performance Monitor и пользоваться ими в дальнейшем. Для этого нужно кликнуть правой кнопкой мыши непосредственно на окне с графиками и выбрать «Save Settings As…». Все параметры будут сохранены в .htm файл, который в любой момент можно будет открыть с помощью Internet Explorer и снова получать данные о производительности системы.

Хотелось бы обратить внимание на такой параметр счетчика как Scale (Шкала), обычно счетчикам сразу уже заданна нужная шкала, но может быть ситуация когда ее нужно изменить для более удобного отображения графиков. Например для счетчика \Hyper-V Virtual Network Adapter(*)\Bytes/sec, при масштабе 0,00001 вы получите график в Мбит/сек. Отслеживание производительности за определенный период времени

Performance Monitor включает в себя удобный инструмент Data Collector Sets (Группы Сборщиков Данных), который позволяет установить необходимые счетчики, и собрать данные по рабочим нагрузкам за определенный период времени, например за неделю. Сборщики данных имеют множество параметров, таких как расписание, параметры перезапуска и контроля размера файла отчета, а также параметры безопасности. Все это позволяет автоматизировать процесс сбора данных о производительности.

Автоматизация процесса мониторинга производительности

Создание Сборщиков данных может занять много времени, особенно когда имеется несколько серверов Hyper-V, по-этому, хорошо было бы этот процесс автоматизировать.

Сделать это можно с помощью утилиты logman.exe. Наберите в командной строке команду logman /? что бы получить список используемых параметров.

Итак, давайте создадим два файла которые позволят автоматизировать процесс создания и запуска Группы Сборщиков Данных.

Первый, это будет bat-файл с таким содержанием: Строка 1 : logman create counter HyperV_BASELINE -f bincirc -max 300 -si 2 --v –o "c:\perflogs\SERVERBASELINE" -cf "perfcounters.config" Строка 2: logman start HyperV_BASELINE А второй, perfcounters.config, собственно содержит список счетчиков, например таких: "\Hyper-V Hypervisor Logical Processor(_Total)\% Total Run Time" "\Logical Disk(*)\Avg. Disk sec/Read" "\Logical Disk(*)\Avg. Disk sec/Write" "\PhysicalDisk\Average Disk Queue Length" "\Memory\Pages/sec" "\Network Interface(*)\Output Queue Length" "\Network Interface(*)\Bytes Total/sec" "\Hyper-V Virtual Network Adapter(*)\Bytes/sec"

При запуске bat-файла, будет создан и запущен Сборщик Данных с именем HyperV_BASELINE с максимальным размером файла журнала 300МБ и интервалом сбора данных 2 ч. Набор счетчиков будет считываться из файла perfcounters.config. Теперь можно запускать файлы на каждом гипервизоре. Или, что гораздо удобнее, изменить bat-файл создания Сборщика Данных, добавив в него параметры: -s

Таким образом, можно создать и запустить Сборщики Данных по сети. Файлы при это должны располагаться в сетевой папке, доступной каждому гипервизору для чтения. Стоит отметить, что после перезагрузки сервера, Сборщик Данных не запускается автоматически. Решить это можно добавлением в автозагрузку bat-файла с таким содержанием: logman -s start HyperV_BASELINE

Заключение

Мы рассмотрели как можно получить наглядную информацию о производительности гипервизора от компании Microsoft Hyper-V. Эта информация поможет вам определить и устранить узкие места в системе.

Взято с ]]>http://www.vmgu.ru/articles/microsoft-hyper-v-monitoring-without-scom]]>

0 0

Поделитесь статьей с друзьями в соц. сетях, возможно, она будет им полезна.


Если вам помогла статья, вы можете >>отблагодарить автора<<