Porady: instrumentacja dynamicznie skompilowanej aplikacji sieci Web ASP.NET i zbieranie szczegółowych danych o chronometrażu przy użyciu wiersza polecenia profilera
W tym temacie opisano, jak używać narzędzie wiersza poleceń Visual Studio Profiling Tools do gromadzenia szczegółowych danych czasowych dla dynamicznie kompilowanych aplikacji ASP.NET, za pomocą metody profilowania instrumentacja.
[!UWAGA]
Narzędzia wiersza poleceń dla Profiling Tools znajdują się w podkatalogu \Team Tools\Performance Tools katalogu instalacyjnego Visual Studio.Na komputerach 64-bitowych dostępne są obie 32-bitowe i 64-bitowe wersje narzędzia.Aby użyć narzędzi profilowania z wiersza polecenia, należy dodać ścieżkę narzędzi do zmiennej środowiskowej PATH okna wiersza poleceń lub dodać do niej samo polecenie.Aby uzyskać więcej informacji, zobacz Określanie ścieżki do narzędzi wiersza polecenia narzędzi profilowania.
Aby zebrać dane wydajności z aplikacji sieci Web ASP.NET, zmodyfikuj plik web.config aplikacji docelowej, aby umożliwić narzędziu VSInstr.exe instrumentację dynamicznie kompilowanych plików aplikacji.Następnie użyj narzędzia VSPerfCLREnv.cmd do ustawienia odpowiednich zmiennych środowiskowych na serwerze sieci Web, aby włączyć profilowanie i uruchom ponownie komputer.
Uruchom profiler, a następnie uruchom aplikację docelową.Gdy profiler jest dołączony do aplikacji, można wstrzymywać i wznawiać zbieranie danych.Po zakończeniu profilowania, zamknij aplikację, zamknij proces roboczy Internet Information Services (IIS), a następnie wyłącz profiler.Po zakończeniu pracy profilowania, przywróć plik web.config i serwer sieci Web do oryginalnego stanu.
Konfigurowanie aplikacji sieci Web ASP.NET i serwera sieci Web
Aby skonfigurować aplikację sieci Web ASP.NET i serwer sieci Web
Zmodyfikuj plik web.config dla docelowej aplikacji.Zobacz Porady: modyfikowanie plików Web.Config w celu instrumentowania i profilowania dynamicznie skompilowanych aplikacji sieci ASP.NET.
Otwórz okno wiersza polecenia.
Zainicjuj zmienne środowiskowe profilowania.Wpisz:
VSPerfClrEnv /globaltraceon
- /globaltraceon włącza profilowanie przy użyciu metody instrumentacji.
Uruchom ponownie komputer.
Uruchamianie sesji profilowania
Aby profilować aplikację sieci Web
Otwórz okno wiersza polecenia.
Uruchom profiler.Wpisz:
VSPerfCmd /start:trace /output**:**OutputFile[Options]
Opcja /start:trace inicjuje profiler.
Opcja **/output:**OutputFile, jest wymagana z /start.OutputFile określa nazwę i lokalizację pliku danych profilowania (.vsp).
Można użyć dowolnej z następujących opcji z opcją /start:trace.
[!UWAGA]
Opcje /user i /crosssession są zazwyczaj wymagane dla aplikacji ASP.NET.
Opcja
Opis
/user:[Domain]\]UserName
Określa nazwę domeny i użytkownika konta, które jest właścicielem procesu roboczego ASP.NET.Ta opcja jest wymagana, jeśli proces działa jako użytkownik inny niż zalogowany użytkownik.Właściciel procesu jest wymieniony w kolumnie Nazwa użytkownika na karcie Procesy Menedżera zadań Windows.
Włącza profilowanie procesów w innych sesjach logowania.Ta opcja jest wymagana, jeśli aplikacja ASP.NET jest uruchomiona w innej sesji.Identyfikator sesji jest wymieniony w kolumnie identyfikator sesji, na karcie Procesy Menedżera zadań Windows./CS może być określony jako skrót dla /crosssession.
Uruchamia profiler ze wstrzymanym zbieraniem danych.Użyj /globalon aby wznowić profilowanie.
/counter:Config
Zbiera informacje z licznika wydajności procesora, który jest określony w Config.Informacje z licznika zostaną dodane do danych zbieranych na każde zdarzenie profilowania.
/wincounter:WinCounterPath
Określa licznik wydajności systemu Windows, który ma być zbierany podczas profilowania.
/automark:Interval
Należy używać wyłącznie z /wincounter.Określa liczbę milisekund między zdarzeniami zbierania liczników wydajności systemu Windows.Wartość domyślna to 500 ms.
/events:Config
Określa zdarzenie Śledzenie zdarzeń systemu Windows (ETW), które ma być zbierane podczas profilowania.Zdarzenia ETW są gromadzone w oddzielnym pliku (.etl).
Uruchom aplikację sieci Web ASP.NET w typowy sposób.
Kontrolowanie zbierania danych
Podczas uruchomienia aplikacji docelowej, można kontrolować zbieranie danych przez uruchamianie i zatrzymywanie zapisywania danych do pliku z danymi profilera przy użyciu opcji VSPerfCmd.exe.Kontrolowanie zbierania danych umożliwia zbieranie danych dla określonej części wykonywania programu, takiej jak uruchamianie lub zamykanie aplikacji.
Aby uruchomić i zatrzymać zbieranie danych
Następujące pary opcji uruchamiają i zatrzymują zbieranie danych.Określ każdą opcję w oddzielnym wierszu polecenia.Zbieranie danych można włączać i wyłączać wiele razy.
Opcja
Opis
Uruchamia (/globalon) lub zatrzymuje zbieranie danych (/globaloff) dla wszystkich procesów.
/processon:PID/processoff:PID
Uruchamia (/processon) lub zatrzymuje (/processoff) zbieranie danych dla procesu, określonego przez identyfikator procesu (PID).
/threadon:TID/threadoff:TID
Uruchamia (/threadon) lub zatrzymuje (/threadoff) zbieranie danych dla wątku, określonego przez identyfikator wątku (TID).
Można również użyć opcji VSPerfCmd.exe/mark aby wstawić znacznik programu profilującego do pliku danych.Polecenie /mark dodaje identyfikator, sygnaturę czasową i opcjonalny tekst zdefiniowany przez użytkownika.Znaczniki mogą być używane do filtrowania danych w raportach programu profilującego i widokach danych.
Kończenie sesji profilowania
Aby zakończyć sesję profilowania, zamknij docelową aplikację sieci Web ASP.NET, zresetuj usługi IIS, aby zatrzymać proces profilowania, a następnie zamknij profiler.
Aby zakończyć sesję profilowania
Zamknij aplikację sieci Web ASP.NET.
Zamknij proces roboczy ASP.NET, resetując Internet Information Services (IIS).Wpisz:
IISReset/stop
Zamknij profiler.Wpisz:
VSPerfCmd /shutdown
Uruchom ponownie IIS.Wpisz:
IISReset/start
Przywracanie konfiguracji aplikacji i komputera
Po zakończeniu wszystkich profilowań, zamień plik web.config, wyczyść zmienne środowiskowe profilowania i uruchom ponownie komputer, aby przywrócić stan aplikacji i serwera do tego sprzed profilowania.
Aby przywrócić konfigurację aplikacji i komputera
Zamień plik web.config z kopią oryginalnego pliku.
Wyczyść zmienne środowiskowe profilowania.Wpisz:
VSPerfCmd/globaloff
Uruchom ponownie komputer.
Zobacz też
Koncepcje
Profilowanie wiersza polecenia aplikacji sieci Web ASP.NET