Porady: instrumentacja dynamicznie skompilowanej aplikacji sieci Web ASP.NET i zbieranie danych pamięci przy użyciu wiersza polecenia profilera
W tym temacie opisano, jak używać narzędzi wiersza polecenia Profiling Tools Visual Studio do zbierania szczegółowych danych dotyczących alokacji pamięci .NET i okresu istnienia obiektów dla dynamicznie kompilowanych aplikacji sieci Web ASP.NET za pomocą metody profilowania instrumentacji.
[!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 aby skonfigurować serwer obsługujący aplikację sieci Web ASP.NET i włączyć profilowanie pamięci .NET przez ustawienie odpowiednich zmiennych środowiskowych i uruchom ponownie komputer.
W celu zbierania danych, uruchom program profilujący, a następnie uruchom aplikację docelową.Gdy profiler jest dołączony do aplikacji, można wstrzymywać i wznawiać zbieranie danych. Gdy odpowiednie dane zostały zebrane, zamknij aplikację, zamknij proces roboczy Internet Information Services (IIS) i następnie zamknij program profilujący.
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 na komputerze, który obsługuje aplikację sieci Web.
Zainicjuj zmienne środowiskowe profilowania.Wpisz:
VSPerfClrEnv /globaltracegc
-lub-
VSPerfClrEnv /globaltracegclife
/globaltracegc umożliwia zbieranie danych alokacji pamięci.
/globaltracegclife umożliwia zbieranie danych alokacji pamięci i danych o okresie istnienia obiektów.
Uruchom ponownie komputer.
Uruchamianie sesji profilowania
Aby profilować aplikację sieci Web ASP.NET
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 opcjonalną domenę i nazwę użytkownika dla 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.Nazwa jest wyświetlana w kolumnie Nazwa użytkownika, na karcie Procesy, w Menedżerze zadań Windows.
Włącza profilowanie procesów w innych sesjach.Ta opcja jest wymagana, jeśli aplikacja jest uruchomiona w innej sesji.Identyfikator sesji jest wyświetlany w kolumnie Identyfikator sesji, na karcie Procesy w Menedżerze 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 od licznika wydajności procesora, określone w Config.Informacje licznika są dodawane do zebranych danych, podczas każdego zdarzenia 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, zatrzymaj Internet Information Services (IIS), aby zatrzymać profilowany proces, a następnie zamknij program profilujący.Następnie uruchom ponownie usługi IIS.
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 zadań profilowania, zamień plik web.config, wyczyść zmienne środowiskowe profilowania i uruchom ponownie komputer, aby przywrócić serwer i aplikację ASP.NET do ich oryginalnych stanów.
Aby przywrócić konfigurację aplikacji i komputera
Zamień plik web.config z kopią oryginalnego pliku.
(Opcjonalnie).Wyczyść zmienne środowiskowe profilowania.Wpisz:
VSPerfCmd /globaloff
Uruchom ponownie komputer.
Zobacz też
Koncepcje
Profilowanie wiersza polecenia aplikacji sieci Web ASP.NET