Общие сведения о сеансе анализа производительности
Обновлен: Ноябрь 2007
В данном обзоре приводится информация об основах профилирования. Разработчики, у которых нет опыта анализа производительности, узнают, как Сред. профилирования Visual Studio Team System Developer Edition позволяет быстро повысить продуктивность их работы и производительность их кода. Разработчики, обладающие опытом профилирования, получат представление об особенностях функций и процессов Сред. профилирования.
Сред. профилирования Visual Studio Team System Developer Edition помогает идентифицировать проблемы производительности на уровне исходного кода, а также сравнить производительность различных возможных решений. Мастера Сред. профилирования и параметры по умолчанию позволяют сразу же получить представление о многих проблемах производительности. Функциональные возможности и настройки Сред. профилирования обеспечивают полное управление процессом профилирования. В процессе управления используются средства точной настройки разделов кода, сбор информации о времени выполнения на уровне блоков, а также включение дополнительных данных об использовании процессора и производительности системы в данные отчета.
Процесс использования средств профилирования состоит из следующих шагов.
Настройка сеанса анализа производительности: указание метода сбора и данных, которые необходимо собрать.
Сбор данных о производительности путем запуска приложения в рамках сеанса анализа производительности.
Анализ собранных данных для идентификации проблем с производительностью.
Изменение кода в интерфейсе IDE Visual Studio, чтобы повысить производительность кода приложения.
Сбор данных о производительности измененного кода, сравнение данных о производительности исходного и измененного кода.
Создание отчета, в котором документируется повышение производительности.
Чтобы работать с информацией, предоставляемой средствами профилирования, необходимо располагать символьной информацией для профилируемых двоичных файлов, а также для двоичных файлов операционной системы Windows.
Настройка сеанса анализа производительности
Чтобы настроить сеанс анализа производительности, выберите метод профилирования, который будет использоваться, и данные, которые требуется собрать. Базовые настройки можно задать при помощи Мастера производительности Сред. профилирования, дополнительные настройки задаются с помощью страниц свойств сеанса анализа производительности.
Поддерживаются следующие методы сбора данных: выборка, трассировка и выделение памяти.
В качестве значений данных могут использоваться счетчики производительности, связанные со временем, загрузкой процессора и операционной системой, а также события приложений, например сбои страниц и переходы в режим ядра.
Сеанс анализа производительности может настраиваться как этап проекта решения в рамках проекта Visual Studio, кроме того, интегрированная среда разработки Visual Studio позволяет выполнять профилирование произвольных двоичных файлов. Параметры сеанса могут указываться на страницах свойств сеанса анализа производительности или задаваться с помощью мастера профилирования.
Сбор данных профилирования
Сбор данных профилирования начинается в окне Обозреватель производительности. Чтобы ограничить объем собираемых данных, можно приостанавливать и продолжать профилирование. Кроме того, можно присоединиться к уже выполняющемуся процессу.
Как только приложение запускается, в интерфейсе IDE Visual Studio отображается окно Управление сбором данных. Окно Управление сбором данных позволяет выполнять профилирование отдельных составляющих приложения путем приостановки и продолжения сбора данных. Кроме того, окно Управление сбором данных позволяет вставлять метки в собираемые данные. Метки представляют собой определяемые пользователем точки данных, которые отображаются в представления профилирования и могут использоваться для фильтрации данных профилирования.
Когда работа целевого приложения завершается, средства профилирования Visual Studio Team System формируют файл данных профилирования (*.vsp), а в интерфейсе IDE Visual Studio отображается представление сводного отчета.
Анализ данных и идентификация проблем с производительностью
По окончании профилирования выполняется анализ данных, сводная информация отображается в окнах представления Сред. профилирования Отчет о производительности. Сбор данных профилирования выполняется для стека вызовов и отдельных функций целевого приложения. В представлениях отчетов отображается анализ производительности для диапазонов данных процессов, потоков, модулей, функций и строк исходного кода приложения. В качестве данных профилирования для функции регистрируются следующие показатели.
Общее время, затраченное на выполнение функции и дочерних функций, которые вызываются из рассматриваемой функции (инклюзивное время).
Время, затраченное только на выполнение кода самой функции (эксклюзивное время).
Более двенадцати различных представлений позволяют выполнять анализ данных профилирования наиболее эффективным образом. Возможности настройки представлений пользователем позволяют выполнять фильтрацию и сортировку данных, чтобы облегчить поиск функций, которые могут вызывать проблемы с производительностью. Функция фильтрации критического пути позволяет моментально выделить большинство активных путей в представлениях "Дерево вызовов" и "Модуль".
Изменение кода приложения
После идентификации одной или нескольких проблем с производительностью можно изменить код приложения с помощью интерфейса IDE Visual Studio и собрать данные профилирования для измененного кода приложения.
Повторный сбор данных профилирования и сравнение данных, собранных в процессе двух запусков профилирования
В представлении "Отчет о сравнении" средств профилирования отображаются различия производительности между двумя выбранными файлами данных профилирования на уровне модулей, функций или строк исходного кода. Можно указать значения данных профилирования, с которыми требуется выполнить сравнение; кроме того, можно переключаться между представлением сравнения и представлениями отдельных файлов.
Создание отчета о результатах
Строки любого отчета о производительности можно вставлять в сообщения электронной почты и электронные таблицы; кроме того, можно создавать отчеты, в которых содержатся данные из одного или нескольких представлений.
См. также
Задачи
Пошаговое руководство. Профилирование приложений