Практическое руководство. Инструментирование динамически скомпилированного веб-приложения ASP.NET и сбор профилировщиком подробных данных о времени с помощью командной строки
В этом разделе описывается использование программ командной строки средств профилирования Visual Studio для сбора подробных данных о времени для динамически скомпилированного веб-приложения ASP.NET с помощью метода профилирования с инструментированием.
![]() |
---|
Программы командной строки средств профилирования расположены в подкаталоге \Team Tools\Performance Tools каталога установки Visual Studio.На 64-разрядных компьютерах доступны 64-разрядные и 32-разрядные версии средств.Для использования программ командной строки профилировщика необходимо добавить путь к этим программам в переменную среды PATH окна Командная строка или указать этот путь при вызове команды.Дополнительные сведения см. в разделе Указание пути к программам командной строки средств профилирования. |
Для сбора данных о производительности в веб-приложении ASP.NET нужно изменить файл web.config целевого приложения, чтобы включить программу VSInstr.exe для инструментирования динамически компилируемых файлов приложения.Далее используется инструмент VSPerfCLREnv.cmd для установки соответствующих переменных среды на веб-сервере, чтобы включить профилирование, после чего нужно перезагрузить компьютер.
Запустите профилировщик, а затем целевое приложение.Пока профилировщик присоединен к приложению, сбор данных можно приостанавливать и возобновлять.При завершении сеанса профилирования закройте приложение, закройте рабочий процесс служб IIS, затем закройте профилировщик.После завершения работы по профилированию восстановите исходное состояние файла web.config и веб-сервера.
Настройка веб-сервера и веб-приложения ASP.NET
Процедура настройки веб-сервера и веб-приложения ASP.NET
Измените файл web.config целевого приложения.См. раздел Практическое руководство. Изменение файлов Web.Config для инструментирования и профилирования динамически скомпилированных веб-приложений ASP.NET.
Откройте окно командной строки.
Инициализируйте переменные среды, используемые для профилирования.Type:
VSPerfClrEnv /globaltraceon
- /globaltraceon включает профилирование с помощью метода инструментирования.
Перезагрузите компьютер.
Запуск сеанса профилирования
Профилирование веб-приложения
Откройте окно командной строки.
Запустите профилировщик.Type:
VSPerfCmd /start:trace /output**:**OutputFile[Options]
Параметр /start:trace обеспечивает инициализацию профилировщика.
Параметр **/output:**OutputFile является обязательным при использовании параметра /start.Параметр OutputFile задает имя и расположение файла с данными профилирования (VSP-файла).
С параметром /start:trace можно использовать любые из следующих параметров.
Примечание
Для приложений ASP.NET параметры /user и /crosssession обычно являются обязательными.
Параметр
Описание
/user:[Domain\]UserName
Задает домен и имя пользователя учетной записи, которая является владельцем рабочего процесса ASP.NET.Этот параметр является обязательным, если процесс выполняется от имени пользователя, отличного от пользователя, который выполнил вход в систему.Имя владельца процесса отображается в столбце "Имя пользователя" на вкладке "Процессы" диспетчера задач Windows.
Включает профилирование процессов в других сеансах входа в систему.Этот параметр является обязательным, если приложение ASP.NET выполняется в рамках другого сеанса.Идентификатор сеанса отображается в столбце "Код сеанса" на вкладке "Процессы" диспетчера задач Windows.Для /crosssession может быть задано сокращение /CS.
Запускает профилировщик с приостановленным сбором данных.Для возобновления профилирования используйте параметр /globalon.
/counter:Config
Собирает данные счетчика производительности процессора, заданного параметром Config.Показатели счетчиков добавляются к данным, собранным для каждого события профилирования.
/wincounter:WinCounterPath
Задает счетчик производительности Windows, данные которого следует собирать в процессе профилирования.
/automark:Interval
Используйте только с /wincounter.Задает интервал времени (в миллисекундах) между событиями сбора данных счетчика производительности Windows.Значение по умолчанию — 500 мс.
/events:Config
Задает событие трассировки событий Windows, данные которого следует собирать в процессе профилирования.События трассировки событий Windows собираются в отдельный ETL-файл.
Запустите веб-приложение ASP.NET обычным образом.
Управление сбором данных
Пока выполняется целевое приложение, можно управлять сбором данных путем запуска и остановки записи данных в файл данных профилировщика с помощью параметров VSPerfCmd.exe.Управление сбором данных позволяет собирать данные на различных этапах выполнения программы, например, при запуске или завершении работы приложения.
Запуск и остановка сбора данных
Следующие пары параметров используются для запуска и остановки сбора данных.Задайте каждый параметр в отдельной строке командной строки.Запуск и приостановка сбора данных могут выполняться неоднократно.
Параметр
Описание
Запускает (/globalon) или останавливает (/globaloff) сбор данных для всех процессов.
/processon:PID/processoff:PID
Запускает (/processon) или останавливает (/processoff) сбор данных для процесса с указанным идентификатором процесса (PID).
/threadon:TID/threadoff:TID
Запускает (/threadon) или останавливает (/threadoff) сбор данных для потока с указанным идентификатором потока (TID).
Для добавления метки профилирования в файл данных можно также использовать параметр VSPerfCmd.exe/mark.Команда /mark добавляет идентификатор, отметку времени и необязательную определенную пользователем текстовую строку.Метки могут использоваться для фильтрации данных в отчетах профилировщика и представлениях данных.
Завершение сеанса профилирования
Для завершения сеанса профилирования закройте целевое веб-приложение ASP.NET, перезагрузите службы IIS, чтобы остановить спрофилированный процесс, и завершите работу профилировщика.
Завершение сеанса профилирования
Закройте веб-приложение ASP.NET.
Закройте рабочий процесс ASP.NET, сбросив параметры службы IIS.Type:
IISReset/stop
Завершите работу профилировщика.Type:
VSPerfCmd /shutdown
Перезапустите службы IIS.Type:
IISReset/start
Восстановление приложения и конфигурации компьютера
По завершении всех сеансов профилирования замените файл web.config, удалите значения переменных среды, используемых для профилирования, и перезагрузите компьютер для восстановления исходного состояния сервера и приложения.
Процедура восстановления приложения и конфигурации компьютера
Замените файл web.config копией исходного файла.
Удалите значения переменных среды, используемых для профилирования.Type:
VSPerfCmd/globaloff
Перезагрузите компьютер.
См. также
Основные понятия
Профилирование веб-приложений ASP.NET из командной строки
Другие ресурсы
Представление данных метода инструментирования профилировщика