Практическое руководство. Профилирование служб с помощью средств командной строки
Обновлен: Ноябрь 2007
Служба представляет собой программу, которая выполняется в операционной системе в фоновом режиме и обеспечивает поддержку функций операционной системы. В качестве примера можно назвать службы Telnet и ASP.NET. Службу нельзя запустить из среды Visual Studio; она должна выполняться в контексте диспетчера служб. Поэтому профилирование службы не является такой простой задачей, как профилирование других типов приложений Visual Studio.
![]() |
---|
Перед началом профилирования служба должна быть установлена. Дополнительные сведения см. в разделе Практическое руководство. Установка и удаление служб. |
Профилирование собственных служб можно выполнять с помощью средств командной строки VSPerfCmd, VSInstr и VSPerfMon. Для профилирования управляемых служб необходимо выполнить дополнительные действия по настройке среды CLR. В следующих процедурах описывается процесс, который необходимо выполнить.
Профилирование управляемой службы с помощью метода выборки
Установите службу. Дополнительные сведения см. в разделе Практическое руководство. Установка и удаление служб.
Откройте окно командной строки. В командной строке выполните следующую команду:
c:\<path>VSPerfClrEnv /globalsampleon
При этом устанавливаются переменные среды, которые необходимы для профилирования управляемых служб.
Перезапустите компьютер.
Проверьте работоспособность службы после ее установки, используя диспетчер служб. Дополнительные сведения см. в разделе Практическое руководство. Запуск служб.
Затем выполните следующую команду:
c:\<path>VSPerfCmd /start:sample /output:filename
Выполняется запуск профилировщика в режиме выборки. С помощью параметра /output создается VSP-файл для сохранения данных о производительности.
Важное примечание.
Чтобы позволить клиентам получить доступ к монитору с помощью указанной учетной записи, можно также включить параметр /USER.
Затем выполните следующую команду для присоединения процесса:
c:\<path>VSPerfCmd /attach:pid | name
С помощью параметра /attach выполняется присоединение службы с помощью идентификатора процесса (pid) или имени процесса (name).
Для завершения сеанса отсоедините процесс, выполнив следующую команду:
c:\<path>VSPerfCmd /detach:pid | name
Можно также остановить службу или процесс, в котором размещается служба.
Затем выполните следующую команду, чтобы завершить работу профилировщика:
c:\<path>VSPerfCmd /shutdown
Параметр /shutdown указывает средству VSPerfCmd ожидать завершения работы отслеживаемых приложений, после чего завершить работу средства VSPerfMon.exe и ожидать его полного завершения.
Затем удалите переменные среды, которые требовались для профилирования управляемых служб, выполнив следующую команду:
C:\<path>VSPerfClrEnv /globaloff
Перезапустите компьютер.
Профилирование управляемой службы с помощью метода инструментирования
Выполните инструментирование службы с помощью средства VSInstr.exe. Дополнительные сведения см. в разделе VSInstr.
Установите службу. Дополнительные сведения см. в разделе Практическое руководство. Установка и удаление служб.
Примечание.
Службу необходимо настроить вручную. Не следует устанавливать ее автоматический запуск. Служба будет запущена на шаге 6.
Откройте окно командной строки. В командной строке выполните следующую команду:
c:\<path>VSPerfClrEnv /globaltraceon
При этом устанавливаются переменные среды, которые необходимы для профилирования управляемых служб.
Перезапустите компьютер.
Затем выполните следующую команду:
c:\<path>VSPerfCmd /start:trace /output:filename
Выполняется запуск профилировщика в режиме инструментирования. С помощью параметра /OUTPUT создается VSP-файл для сохранения данных о производительности.
Важное примечание.
Чтобы позволить клиентам получить доступ к монитору с помощью указанной учетной записи, можно также включить параметр /USER.
Проверьте работоспособность службы после ее установки, используя диспетчер служб. Дополнительные сведения см. в разделе Практическое руководство. Запуск служб.
Важное примечание.
После запуска службы и монитора производительности служба будет присоединена к монитору производительности. Если при запуске монитора производительности служба уже выполняется возможность для присоединения не представится.
Чтобы завершить профилирование с инструментированием, остановите службу.
Затем выполните следующую команду:
c:\<path>VSPerfCmd /shutdown
Параметр /shutdown указывает средству VSPerfCmd ожидать завершения работы отслеживаемых приложений, после чего завершить работу средства VSPerfMon.exe и ожидать его полного завершения.
Затем удалите переменные среды, которые требовались для профилирования управляемых служб, выполнив следующую команду:
c:\<path>VSPerfClrEnv /globaloff
Перезапустите компьютер.