Упражнение 2. Оценка быстрого запуска с помощью набора средств для повышения производительности Windows
Хотя оценка быстрого запуска — это простой способ получения измерений в легко читаемом отчете, для этого требуется установить ADK, выполнение которого занимает некоторое время. Можно быстро записать трассировку быстрого запуска с помощью средства записи производительности Windows (WPR).
Шаг 1. Открытие трассировки быстрого запуска с помощью WPA
Откройте средство записи производительности Windows (WPR) из меню "Пуск"
Измените конфигурацию трассировки.
Выберите поставщики "Анализ первого уровня" и "Загрузка ЦП ".
Измените сценарий производительности на Быстрый запуск.
Измените число итераций на 1, чтобы собрать одну трассировку.
Нажмите кнопку Пуск.
Введите путь для сохранения полученной трассировки и нажмите кнопку Сохранить.
- Это приведет к перезагрузке системы для сбора и сохранения трассировки.
После перезагрузки системы подождите 5 минут, пока трассировка завершится.
Теперь у вас есть трассировка, которую можно анализировать с помощью Windows Анализатор производительности (WPA).
Шаг 2. Открытие трассировки быстрого запуска с помощью WPA
Откройте windows Анализатор производительности (WPA) в меню Пуск.
В меню Файл откройте трассировку, созданную на шаге 1.
Откройте меню Профили и щелкните Применить...
Щелкните Обзор каталога...
Выберите FastStartup.wpaprofile.
Щелкните Открыть.
Теперь вы применили к трассировке профиль визуализации, чтобы получить некоторые часто используемые графы (ЦП, диск и т. д.).
Шаг 3. Визуализация действия временная шкала
Просмотрите граф "Интересующие регионы " на вкладке "Глубокий анализ "
Это представление содержит временная шкала обзор всех подфаз быстрого запуска, упомянутых в упражнении 1.
Если навести указатель мыши на панель области, появится всплывающее окно, в результате этого появится больше сведений о регионе.
Если навести указатель мыши на область Путь к главной загрузке , вы увидите ее длительность. В приведенном ниже примере это значение длится 13,6 секунды.
Уделите время переходу по дереву регионов и просмотрите все подфазы, чтобы ознакомиться с ним.
Время, необходимое для инициализации и завершения Обозреватель, — это время, необходимое для создания рабочего стола Windows и его видимости для пользователя. На этот этап (а также на все, что происходит после включения или выключения) могут повлиять процессы, запущенные при загрузке.
Выберите интервал в 90 секунд, начиная с начала Обозреватель инициализации и масштабирования.
В графе "Интересующие регионы " есть две другие полезные диаграммы: загрузка ЦП (выборка) и использование диска. Они будут использоваться для оценки влияния предварительной загрузки программного обеспечения на потребление ресурсов и скорость реагирования после включения и выключения .
Высокая загрузка ЦП приложениями и службами может способствовать плохому взаимодействию с пользователем, например к неотвечению пользовательского интерфейса или сбоям видео и звука. Если один процесс использует слишком много ресурсов ЦП, другие процессы могут быть отложены, так как они должны конкурировать за системные ресурсы.
Если поток использует ресурсы хранилища, это может увеличить длительность действия. Когда несколько потоков борются за использование хранилища, результирующие случайные поиски диска делают задержки более значительными.
Шаг 4. Анализ использования ЦП процессами
Чтобы оценить, сколько времени ЦП занимает процесс, сосредоточьтесь на графе Использование ЦП (выборка). Данные, отображаемые на графе Использование ЦП (выборка), представляют примеры активности ЦП, принятые с регулярными интервалами выборки в 1 мс. Каждая строка в таблице представляет один пример.
Все действия ЦП, происходящие между выборками, не регистрируются данным методом выборки. Таким образом, действия очень короткой длительности, такие как прерывания, не представлены в графе выборки ЦП .
Просмотрите загрузку ЦП для каждого процесса, чтобы определить процессы с наибольшим потреблением ЦП (вес и %вес). Для этого прокрутите вниз до графа Использование ЦП (выборка). В левой части экрана просмотрите список процессов. Каждый активный процесс, выбранный слева, отображается на графике.
**Совет:**
При использовании графов WPA можно изменить представление для отображения графа и таблицы. Вы можете нажать кнопку Развернуть , чтобы скрыть другие диаграммы, отображаемые на вкладке Анализ .
В этом примере ImageSHELLY.exe потребляет 12,4 секунды времени ЦП с интервалом в 90 секунд, который в настоящее время анализируется. Так как ЦП в этой системе имеет два ядра, это представляет относительный процент использования 6,9 %.
Используя эти сведения, вы можете изучить конкретный процесс, вызывающий потребление ЦП, или перенаправить эти сведения разработчику, которому принадлежит этот процесс.
Вы можете добавить дополнительные столбцы для извлечения дополнительных сведений (щелкните правой кнопкой мыши заголовки столбцов таблицы):
Идентификатор потока: идентификатор потока, вызывающего загрузку ЦП.
Стек: стек вызовов, который выделяет пути кода и функции, вызывающие загрузку ЦП.
В приведенном выше примере существует только один поток, вызывающий большую часть загрузки ЦП в ImageSHELLY.exe процессе: Поток 2612 с активностью ЦП 10,77 секунды.
Стек показывает, что это действие поступает из модуляImageSTACEY.dll .
Шаг 5. Анализ использования диска процесса
Чтобы оценить, сколько пропускной способности диска потребляется процессом, сосредоточьтесь на графе Использование диска .
Интересующие столбцы:
Pri: приоритет дискового ввода-вывода. Возможны три уровня приоритета: обычный, низкий и очень низкий.
Тип ввода-вывода: тип ввода-вывода. Три возможных типа операций ввода-вывода: чтение, запись и очистка.
Процесс: идентификатор процесса, создавшего дисковый ввод-вывод.
Дерево пути: структурированное дерево, представляющее расположения файлов, к которым обращается ввод-вывод.
Размер: размер (в байтах) ввода-вывода.
Время обслуживания диска: время, необходимое для обслуживания операций ввода-вывода на диске.
Время ввода-вывода: количество времени, затраченного операцией ввода-вывода в очереди ввода-вывода Windows.
- Время ввода-вывода всегда больше , чем время обслуживания диска , так как операции ввода-вывода могут быть поставлены в очередь при состязании за диск или когда диспетчер ввода-вывода с более высоким приоритетом должен быть завершен в первую очередь.
Добавьте эти столбцы и расположите их для получения этого представления:
При включении и выключении публикации учитывается только обычный приоритет ввода-вывода. Изучите сведения об этих считываниях дисков в соответствии с процессом. При чтении диска обычно требуется больше времени доступа к диску, чем при записи на диск при загрузке, так как для запуска процессов и служб с диска требуется считывать большое количество данных.
Щелкните цветовые маркеры рядом с рядом с рядами Pri: Very Low и Pri: Low, чтобы на графе были видны только обычные приоритетные операции ввода-вывода.
В табличном представлении разверните строку Обычный приоритет.
В табличном представлении разверните строки для записей, чтения и очистки, а затем щелкните заголовок столбца Размер , чтобы отсортировать содержимое в порядке убывания.
Экран должен выглядеть следующим образом.
В предыдущем примере показано следующее:
152 МБ данных было считано с диска с обычным приоритетом.
129 МБ данных были записаны на диск с обычным приоритетом.
- В основном это операции записи на диск для сохранения записанного файла трассировки ETL в хранилище.
В табличном представлении разверните строку Чтение типа ввода-вывода .
- Теперь вы сможете увидеть процессы, которые вызвали наибольший объем операций ввода-вывода на диске чтения во время последующего включения или выключения.
Определите три основных процесса, которые способствуют чтению дисков и не являются компонентами Windows.
В представлении таблицы разверните строку Дерево пути для ImageSTUART.exeи перейдите по ней.
В предыдущем примере ImageSTUART.exe считывает 13,5 МБ данных с диска при запуске во время последующего включения или выключения, и большинство обращений выполняет чтение компонентов DLL в папке Program Files .
Используя эти сведения, разработчик программного обеспечения должен определить свои компоненты и процессы и определить, можно ли уменьшить размер компонента или можно ли оптимизировать путь кода запуска, чтобы свести к минимуму объем данных, считываемых с диска.
Эти данные также можно использовать для идентификации сторонних процессов, которые запускаются при загрузке и вызывают высокий уровень использования диска. Если кажется, что процесс вызывает состязание за диск, его можно удалить из образа или просто не запустить во время загрузки.