Поделиться через


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

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

Это руководство знакомит вас с процессом измерения, анализа и устранения первопричин проблем с производительностью в ключевых областях. Будут рассмотрены следующие задачи:

  • Использование набора средств для повышения производительности Windows (WPT)

  • Запись трассировок журнала трассировки событий (ETL)

  • Задержки загрузки, запуска приложения и пользовательского интерфейса

  • Анализ использования ресурсов ЦП и диска

  • Анализ критического пути и ожидания

Цели

В этом руководстве показано, как выполнять следующие задачи:

  • Сбор соответствующих данных для анализа проблем с производительностью в любой системе

  • Общие сведения о процессе анализа для анализа использования системных ресурсов, таких как ЦП и диск

  • Определение того, что может повлиять на скорость реагирования системы в некоторых ключевых сценариях Windows

Инструменты

Набор средств оценки Windows в ADK предоставляет набор тестов, связанных с производительностью, которые называются оценками. Результаты оценки используются для диагностики потенциальных проблем, чтобы разрабатываемое оборудование и программное обеспечение реагировали и минимально влияли на время работы батареи, производительность запуска и время завершения работы. Те же оценки доступны партнерам oem, независимых поставщиков программного обеспечения и IHV, энтузиастам и другим членам сообщества, чтобы создать общую структуру для измерения, сравнения и анализа аспектов качества.

Набор средств для повышения производительности Windows состоит из двух независимых средств: Windows Performance Recorder (WPR) и Windows Анализатор производительности (WPA). WPR — это мощное средство записи, которое создает трассировку событий для записей Windows (ETW). WPR можно запустить из пользовательского интерфейса или из командной строки (CL). WPR предоставляет встроенные профили, которые можно использовать для выбора событий, которые требуется записать. WPA — это мощное средство анализа, которое сочетает в себе гибкий пользовательский интерфейс с широкими возможностями построения графиков и таблицами данных, которые можно сводить и использовать возможности полнотекстового поиска.

Поведение быстрого запуска

Появилось в Windows 8, быстрый запуск является поведением загрузки по умолчанию. Процесс завершения работы был обновлен, чтобы включить запись данных на диск таким образом, чтобы зеркально отображать режим гибернации. Во время загрузки система проходит этапы, описанные в следующей таблице.

Этап Описание
Инициализация BIOS Время, необходимое операционной системе для инициализации BIOS, включая среду выполнения перед загрузкой (PXE).
Чтение гиберфайла Время, необходимое операционной системе для чтения файла гиберфайла с диска. Гиберфайл содержит весь системный контекст, записанный во время завершения работы.
Возобновление работы устройств Время, необходимое операционной системе для возобновления работы устройств и их возврата в активное состояние питания.
WinLogon Resume Время, необходимое операционной системе для возобновления процесса Winlogon.
Инициализация Обозреватель Время, необходимое операционной системе для инициализации оболочки Windows (explorer.exe). Этот этап завершается, когда пользователь видит рабочий стол или начальный экран.
Длительность включения и выключения записи Время, необходимое Windows для выполнения всех задач запуска после появления рабочего стола, но до тех пор, пока ресурсы ЦП и диска не будут простаивать.

Дополнительные сведения о поведении быстрого запуска см. в разделе О производительности перехода в режиме включения и выключения на сайте MSDN.

Планирование ЦП и потоки

Так как количество процессоров в системе ограничено, все потоки не могут выполняться одновременно. Windows реализует совместное использование времени процессора, что позволяет потоку выполняться в течение определенного периода времени, прежде чем процессор переключит на другой поток. Действие переключения между потоками называется переключением контекста и выполняется компонентом Windows, который называется диспетчером. Каждый поток существует в определенном состоянии выполнения в любой момент времени. Windows использует три состояния, которые относятся к производительности: Выполняется, Готово и Ожидание.

Выполняемые потоки находятся в состоянии Выполняется . Потоки, которые могут выполняться, но в настоящее время не выполняются, находятся в состоянии Готово . Потоки, которые не могут выполняться (так как они ожидают определенного события), находятся в состоянии Ожидание . На следующем рисунке показаны возможные переходы потоков.

На схеме показаны возможные переходы потоков.

  1. Поток в состоянии Выполняется инициирует переход в состояние Ожидание , вызывая функцию ожидания, например WaitForSingleObject или Спящий режим (> 0).

  2. Выполняющийся поток или операция ядра считывает поток в состоянии ожидания (например, SetEvent или истечение срока действия таймера).

  3. Поток в состоянии Готовности планируется для обработки диспетчером, когда выполняющийся поток ожидает или достигает конца своего квантового выполнения.

  4. Поток в состоянии Выполняется переключается и помещается диспетчером в состояние Готово , когда он вытесняется потоком с более высоким приоритетом или когда заканчивается его квантовый.

Состояние потока становится важным фактором производительности только в том случае, если пользователь ожидает завершения операции потока.

Дополнительные сведения о планировании ЦП см. в разделе Анализ ЦП на сайте MSDN.

Упражнения

Это руководство состоит из следующих упражнений.