Устранение неполадок с производительностью виртуальных машин Windows с помощью средства CLI для диагностики производительности (PerfInsights)
Область применения: ✔️ Виртуальные машины Windows
Расширение диагностики производительности (PerfInsights) — это средство самостоятельного диагностика, которое собирает и анализирует диагностические данные и предоставляет отчет для устранения неполадок с производительностью виртуальной машины Windows в Azure. Используйте диагностику производительности для выявления и устранения проблем с производительностью в одном из двух режимов:
- Непрерывная диагностика (предварительная версия) собирает данные через пять секунд и сообщает аналитические сведения о высоком использовании ресурсов каждые пять минут.
- Диагностика по запросу помогает устранять проблемы с текущей производительностью с более подробными данными, аналитическими сведениями и рекомендациями на основе данных, собранных в один момент времени.
В этой статье объясняется, как скачать расширение диагностики производительности на виртуальную машину Windows и запустить средство с помощью средства CLI. Вы также можете запустить диагностику производительности на портале и развернуть расширение диагностики производительности с помощью шаблона ARM или PowerShell.
Если у вас возникли проблемы с производительностью виртуальных машин, перед обращением в службу поддержки запустите диагностику производительности.
Поддерживаемые сценарии устранения неисправностей
Для устранения неполадок с различными сценариями можно использовать диагностику производительности. В следующих разделах описываются распространенные сценарии использования непрерывной и по запросу диагностики производительности для выявления и устранения проблем с производительностью. Сравнение непрерывной и по запросу диагностики производительности см. в аналитических сведениях и отчетах по диагностике производительности.
Примечание.
Сведения об использовании PerfInsights в масштабируемом наборе виртуальных машин Azure см. в статье PerfInsights и экземпляры виртуальных машин масштабируемого набора.
Непрерывная диагностика
Непрерывная диагностика производительности позволяет выявлять высокий уровень использования ресурсов, регулярно отслеживая виртуальную машину для:
- Высокая загрузка ЦП: обнаруживает периоды использования ЦП и показывает наиболее распространенные потребители ЦП в течение этих периодов.
- Высокая загрузка памяти: обнаруживает периоды использования большого объема памяти и показывает наиболее распространенных потребителей использования памяти в течение этих периодов.
- Высокий уровень использования диска: обнаруживает периоды использования дисков на физических дисках и показывает наиболее распространенных потребителей использования дисков в течение этих периодов.
диагностика по запросу
Быстрый анализ
Этот сценарий собирает данные конфигурации дисков и другие важные сведения, в том числе:
Журналы событий
состояние всех входящих и исходящих сетевых подключений;
параметры конфигурации сети и брандмауэра;
список задач всех приложений, запущенных в системе;
параметры конфигурации базы данных Microsoft SQL Server (если виртуальная машина определяется как сервер, на котором выполняется SQL Server);
счетчики надежности хранилища;
важные исправления Windows;
установленные драйверы фильтра.
Это пассивный сбор данных, который не должен повлиять на систему.
Примечание.
Этот сценарий автоматически включен в каждый из следующих сценариев.
Тестирование производительности
Этот сценарий запускает тест производительности Diskspd (операции ввода-вывода в Мбит/с) всех дисков, подключенных к виртуальной машине.
Примечание.
Этот сценарий может повлиять на систему и не должен выполняться в динамической рабочей системе. При необходимости запустите этот сценарий во время выделенного периода обслуживания, чтобы избежать проблем. Увеличение рабочей нагрузки, вызванное тестом производительности или трассировкой, может негативно повлиять на производительность виртуальной машины.
Анализ производительности
Этот сценарий запускает трассировку счетчиков производительности, которые указаны в файле RuleEngineConfig.json. Если виртуальная машина определяется как сервер, на котором работает SQL Server, выполняется трассировка счетчиков производительности. Это делается с помощью счетчиков, которые находятся в файле RuleEngineConfig.json. Этот сценарий также содержит данные диагностики производительности.
Анализ файлов Azure
Этот сценарий запускает специальную запись счетчиков производительности вместе с функцией сетевой трассировки. Запись включает в себя все счетчики общих ресурсов SMB-клиента. Ниже приведены некоторые ключевые счетчики производительности общих ресурсов SMB-клиента, которые являются частью записи.
Тип | Общие ресурсы SMB-клиента |
---|---|
ОПЕРАЦИЙ ВВОДА-ВЫВОДА | Запросов данных в секунду |
Запросов на чтение в секунду | |
Запросов на запись в секунду | |
Задержка | Среднее число секунд на запрос данных |
Среднее число секунд на запрос на чтение | |
Среднее число секунд на запрос на запись | |
Размер ввода-вывода | Среднее значение. Байт/запрос данных |
Среднее значение. Байт/чтение | |
Среднее значение. Байт/запись | |
Пропускная способность | Байтов в секунду |
Прочитано байтов в секунду | |
Записано байтов в секунду | |
Длина очереди | Среднее значение. Чтение длины очереди |
Среднее значение. Длина очереди записи | |
Средняя длина очереди данных |
Расширенный анализ производительности
Запуская расширенный анализ, нужно выбрать параллельное выполнение трассировки. При необходимости вы можете запустить их все (счетчик производительности, Xperf, сеть и StorPort).
Примечание.
Этот сценарий может повлиять на систему и не должен выполняться в динамической рабочей системе. При необходимости запустите этот сценарий во время выделенного периода обслуживания, чтобы избежать проблем. Увеличение рабочей нагрузки, вызванное тестом производительности или трассировкой, может негативно повлиять на производительность виртуальной машины.
Какие сведения собираются в Windows для диагностики производительности?
Собираются сведения о виртуальных машинах Windows, конфигурация дисков или пулов хранения, счетчики производительности, журналы и различные трассировки. Это зависит от используемого сценария производительности. В следующей таблице приведено несколько примеров.
Собираемые данные | Быстрый анализ производительности | Тестирование производительности | Анализ производительности | Анализ файлов Azure | Расширенный анализ производительности |
---|---|---|---|---|---|
Сведения из журналов событий | Да | Да | Да | Да | Да |
Сведения о системе | Да | Да | Да | Да | Да |
Сопоставление томов | Да | Да | Да | Да | Да |
Сопоставление дисков | Да | Да | Да | Да | Да |
Выполняемые задачи | Да | Да | Да | Да | Да |
счетчики надежности хранилища; | Да | Да | Да | Да | Да |
Сведения о хранилище | Да | Да | Да | Да | Да |
Выходные данные fsutil | Да | Да | Да | Да | Да |
Сведения о драйвере фильтра | Да | Да | Да | Да | Да |
Выходные данные netstat | Да | Да | Да | Да | Да |
Сетевая конфигурация | Да | Да | Да | Да | Да |
Настройка брандмауэра | Да | Да | Да | Да | Да |
Конфигурация SQL Server | Да | Да | Да | Да | Да |
Трассировки диагностики производительности* | Да | Да | Да | Да | Да |
Трассировка счетчиков производительности** | Да | Да | |||
Трассировка счетчиков SMB** | Да | ||||
Трассировка счетчиков SQL Server** | Да | Да | |||
Трассировка XPerf | Да | ||||
Трассировка StorPort | Да | ||||
Трассировка сети | Да | Да | |||
Трассировка теста производительности Diskspd*** | Да | ||||
Трассировка диагностики производительности (*)
Запускает в фоновом режиме модуль на основе правила для сбора данных и диагностики проблем с производительностью системы. Правила отображаются в отчете на вкладке "Категория —> поиск".
Каждое правило состоит из следующих элементов:
- Поиск. Описание нахождения.
- Рекомендация. Рекомендация о том, какие действия можно предпринять для поиска. Существуют также справочные ссылки на документацию, содержащую дополнительные сведения о поиске и /или рекомендации.
- Уровень влияния: представляет потенциал для влияния на производительность.
В настоящее время поддерживаются следующие категории правил:
- Высокий уровень использования ресурсов:
- Высокая загрузка ЦП: обнаруживает периоды использования ЦП и показывает наиболее распространенные потребители ЦП в течение этих периодов.
- Высокая загрузка памяти: обнаруживает периоды использования большого объема памяти и показывает наиболее распространенных потребителей использования памяти в течение этих периодов.
- Высокий уровень использования диска: обнаруживает периоды использования дисков на физических дисках и показывает наиболее распространенных потребителей использования дисков в течение этих периодов.
- Использование диска с высоким разрешением: отображаются метрики задержки ввода-вывода в секунду, пропускная способность и задержка ввода-вывода в 50 миллисекунд для каждого физического диска. Это позволяет быстро найти периоды регулирования диска.
- База знаний: определяет, не установлены ли определенные статьи базы знаний (КБ).
- Диск. Определяет определенные параметры конфигурации диска.
- SQL: определяет определенные параметры SQL.
- Сеть: обнаруживает определенные параметры сети.
- Кластер сервера: определяет определенные параметры конфигурации кластера сервера.
- Система: обнаруживает определенные параметры конфигурации системы.
- СРЕДА CLR: обнаружение длительной сборки мусора приостанавливается в управляемых процессах.
Примечание.
В настоящее время поддерживаются версии Windows, которые содержат .NET Framework 4.5 или более поздних версий.
Трассировка счетчиков производительности (\*\*)
Собирает следующие счетчики производительности.
- \System, \Process, \Processor, \Memory, \Thread, \PhysicalDisk и \LogicalDisk
- \Кэш\"Грязные" страницы, \Кэш\Сбросов ленивой записи/с, \Сервер\Невыгружаемый пул, ошибки и\Сервер\Отказов выгружаемого страничного пула.
- Выбранные счетчики в категориях \Сетевой интерфейс, \IPv4\Датаграммы, \IPv6\Датаграммы, \TCPv4\Сегменты, \TCPv6\Сегменты, \Сетевой адаптер, \WFPv4\Пакеты, \WFPv6\Пакеты, \UDPv4\Датаграммы, \UDPv6\Датаграммы, \TCPv4\Подключение, \TCPv6\Подключение, \Политика качества обслуживания сети\Пакеты, \Активность сетевой карты для каждого процессора и\Microsoft Winsock BSP.
Для экземпляров SQL Server
- \SQL Server: диспетчер буфера, \SQLServer: статистика пула ресурсов и \SQLServer: статистика SQL\.
- \SQLServer: блокировки, \SQLServer: общая статистика
- \SQLServer: способы доступа
Для файлов Azure
\Общие ресурсы SMB-клиента
Трассировка теста производительности Diskspd (***)
Тестирование рабочей нагрузки операций ввода-вывода Diskspd (диск операционной системы [запись] и диски пула [чтение и запись])
Запуск диагностики производительности на виртуальной машине с помощью средства CLI
Что нужно знать, прежде чем запускать инструмент
Требования инструмента
Этот инструмент следует запускать на виртуальных машинах с проблемами производительности.
Поддерживаются следующие операционные системы:
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
- Windows 11
- Windows 10
Доступ к SQL Server
Если на виртуальной машине установлены экземпляры SQL Server, PerfInsights использует учетную запись NT AUTHORITY\SYSTEM для доступа к экземплярам SQL Server для сбора сведений о конфигурации и выполнения правил. Учетная запись NT AUTHORITY\SYSTEM должна быть предоставлена разрешение view Server State and Connect SQL для каждого экземпляра, в противном случае PerfInsights не сможет подключиться к SQL Server и отчету PerfInsights не будет отображаться любая связанная информация SQL Server.
Возможные проблемы при запуске инструмента на рабочих виртуальных машинах
При использовании сценария эталонного тестирования или сценария "Расширенный анализ производительности", который настроен на использование Xperf или Diskspd, инструмент может неблагоприятно повлиять на производительность виртуальной машины. Эти сценарии не должны выполняться в рабочей среде в динамической рабочей среде.
При использовании сценария эталонного тестирования или сценария "Расширенный анализ производительности", который настроен для использования Diskspd, убедитесь, что никакая другая фоновая активность не влияет на рабочую нагрузку ввода-вывода.
По умолчанию для сбора данных инструмент использует диск временного хранилища. Если трассировка остается включенной длительное время, объем собираемых данных может увеличится соответственно. Это может сократить доступное пространство на временном диске, что повлияет на все приложения, которые используют этот диск.
Способ запуска PerfInsights
Вы можете запустить PerfInsights на виртуальной машине, установив расширение виртуальной машины для диагностики производительности Azure. Кроме того, вы можете запустить его в качестве автономного инструмента.
Установка и запуск PerfInsights на портале Azure
Дополнительные сведения см. в разделе Установка расширения.
Запуск PerfInsights в автономном режиме
Чтобы запустить инструмент PerfInsights, сделайте следующее.
Скачайте PerfInsights.zip.
Разблокируйте файл PerfInsights.zip. Для этого щелкните файл PerfInsights.zip правой кнопкой мыши и выберите Свойства. На вкладке Общие выберите Разблокировать и нажмите кнопку ОК. Это действие гарантирует, что средство выполняется без каких-либо других запросов безопасности.
Разверните сжатый файл PerfInsights.zip на временный диск (по умолчанию обычно это диск D).
Откройте командную строку Windows с правами администратора, а затем запустите PerfInsights.exe, чтобы просмотреть доступные параметры командной строки.
cd <the path of PerfInsights folder> PerfInsights
Ниже приведен пример базового синтаксиса для запуска сценариев PerfInsights:
PerfInsights /run <ScenarioName> [AdditionalOptions]
Выполните поиск всех доступных сценариев и параметров с помощью команды /list :
PerfInsights /list
Ниже приведены примеры использования средства CLI для выполнения различных сценариев устранения неполадок:
Запуск непрерывной производительности диагностика:
PerfInsights /run always on /sau
Чтобы остановить непрерывную производительность диагностика, нажмите клавиши CTRL+C или закройте терминал.
Выполните сценарий анализа производительности в течение 5 минут:
PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics
Выполните расширенный сценарий с трассировками счетчиков производительности xperf и производительности в течение 5 минут:
PerfInsights /run advanced xp /d 300 /AcceptDisclaimerAndShareDiagnostics
Выполните сценарий теста в течение 5 минут:
PerfInsights /run benchmark /d 300 /AcceptDisclaimerAndShareDiagnostics
Запустите сценарий анализа производительности в течение 5 минут и отправьте zip-файл результата в учетную запись хранения:
PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics /sa <StorageAccountName> /sk <StorageAccountKey>
Примечание.
Перед запуском сценария PerfInsights запрашивает у пользователя согласие на обмен диагностическими данными и согласие с условиями лицензии. Используйте параметр /AcceptDisclaimerAndShareDiagnostics, чтобы пропустить эти запросы.
Если вы сделали запрос в службу поддержки Майкрософт и запустили PerfInsights по запросу сотрудника службы поддержки, с которым вы работаете, обязательно укажите номер запроса на поддержку с помощью параметра /sr.
По умолчанию PerfInsights попытается обновиться до последней версии (если таковая имеется). Чтобы пропустить автоматическое обновление, используйте параметр /SkipAutoUpdate или /sau.
Если параметр продолжительности /d не указан, PerfInsights предложит вам повторно обработать проблему во время выполнения сценариев vmslow и azurefiles, а также расширенных сценариев.
По завершении трассировки или операции в папке с PerfInsights появится новый файл. Имя файла — PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip. Этот файл можно отправить агенту поддержки для анализа или открыть отчет внутри ZIP-файла, чтобы просмотреть результаты и рекомендации.
Просмотр отчета о диагностике
В файле PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip можно найти HTML-отчет, который содержит сведения о результатах PerfInsights. Чтобы просмотреть отчет, разверните файл PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip и откройте файл PerfInsights Report.html.
Выберите вкладку Результаты.
Примечание.
В категорию результатов высокого уровня попадают известные неполадки, которые могут вызвать проблемы с производительностью. В категорию среднего уровня попадают результаты, указывающие на неоптимальную конфигурацию, которая может не приводить к проблемам с производительностью. Результаты низкого уровня содержат сообщения, которые полезно принять к сведению.
Просмотрите рекомендации и ссылки на для всех результатов высокого и среднего уровня. Узнайте, как они могут повлиять на производительность, и ознакомьтесь с рекомендациями по оптимизации производительности конфигураций.
Вкладка хранилища
В разделе Результаты отображаются разные результаты и рекомендации, которые относятся к хранилищу.
В разделах DiskMap и VolumeMap описана связь между логическими томами и физическими дисками.
В перспективе физического диска (DiskMap) в таблице показаны все логические тома, которые размещены на диске. В следующем примере на PhysicalDrive2 размещены два логических тома, созданные в нескольких разделах (J и H):
В перспективе тома (VolumeMap) в таблицах показаны все физические диски в каждом логическом томе. Обратите внимание, что для RAID-массивов и динамических дисков можно разместить логический том на нескольких физических дисках. В следующем примере C:\mount — это точка подключения, настроенная как SpannedDisk на физических дисках 2 и 3:
Вкладка SQL
Если целевая виртуальная машина размещает все экземпляры SQL Server, в отчете отображается другая вкладка с именем SQL:
Этот раздел содержит вкладку "Результаты " и дополнительные вкладки для каждого экземпляра SQL Server, размещенного на виртуальной машине.
Вкладка Результаты содержит список всех найденных проблем с производительностью службы SQL и рекомендации по ним.
В следующем примере отображается PhysicalDrive0 (на диске C), так как файлы modeldev и modellog находятся на диске C и относятся к различным типам (файл данных и журнал транзакций, соответственно).
Вкладки для определенных экземпляров SQL Server содержат общий раздел, в котором отображаются основные сведения о выбранном экземпляре, Вкладки также содержат дополнительные разделы для дополнительных сведений, включая параметры, конфигурации и параметры пользователя.
Вкладка диагностики
На вкладке "Диагностика" содержатся сведения о основных потребителях ЦП, диска и памяти на компьютере во время выполнения диагностики производительности. Здесь есть и другие сведения, например отсутствующие критически важные исправления, список задач и важные системные события.
Ссылки на внешние используемые средства
Diskspd
Diskspd — это генератор нагрузки хранилища и инструмент проверки производительности корпорации Майкрософт. Дополнительные сведения можно найти по этой ссылке.
XPerf
XPerf является средством командной строки для записи сведений трассировок из набора средств оценки производительности Windows. Дополнительные сведения см. в записи блога Windows Performance Toolkit - Xperf (Набор средств оценки производительности Windows — XPerf).
Следующие шаги
Вы можете отправить журналы диагностики и отчетов в службу поддержки Майкрософт для дальнейшего анализа Службе поддержки Майкрософт может потребоваться передать выходные данные, созданные PerfInsights, чтобы упростить процесс устранения неполадок.
На следующем снимке экрана отображается сообщение, которое вы можете получить:
Следуйте инструкциям в сообщении, чтобы получить доступ к рабочему пространству передачи файлов. Чтобы обеспечить дополнительную безопасность, необходимо сначала изменить пароль.
После входа вы найдете диалоговое окно для отправки PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip файла, собранного PerfInsights.
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.