Udostępnij za pośrednictwem


Porady: dołączanie profilera do aplikacji sieci Web ASP.NET w celu zbierania danych pamięci przy użyciu wiersza polecenia

W tym temacie opisano, jak używać Profiling Tools wiersza poleceń Visual Studio do dołączania programu Profiler do aplikacji sieci Web ASP.NET i zbierać dane o liczbie i rozmiarze alokacji pamięci .NET Framework.Można również zbierać dane dotyczące okresu istnienia obiektów pamięci .NET Framework.

[!UWAGA]

Narzędzia wiersza poleceń dla Narzędzi profilowania znajdują się w podkatalogu \Team Tools\Performance Tools katalogu instalacyjnego Visual Studio.Na komputerach 64-bitowych dostępne są obie, 32-bitowa i 64-bitowa wersja narzędzia.Aby użyć narzędzi profilowania z wiersza polecenia, należy dodać ścieżkę narzędzi do zmiennej środowiskowej PATH okna Wiersza polecenia 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 zbierać dane wydajności z aplikacji ASP.NET sieci Web, należy użyć narzędzia VSPerfCLREnv.cmd, aby zainicjować zmienne środowiskowe na komputerze obsługującym aplikację sieci Web ASP.NET.Następnie należy ponownie uruchomić komputer, aby skonfigurować serwer sieci Web do profilowania.

Następnie należy użyć narzędzia VSPerfCmd.exe, aby dołączyć program Profiler do procesu roboczego ASP.NET obsługującego witrynę sieci Web.Jeśli program Profiler jest dołączony do aplikacji, można wstrzymywać i wznawiać zbieranie danych.

Aby zakończyć sesję profilowania, program profilujący nie może być już dołączony do aplikacji i musi być jawnie zamknięty.W większości przypadków na końcu sesji zaleca się wyczyszczenie zmiennych środowiskowych profilowania.

Dołączanie programu Profiler

Aby dołączyć program profilujący do aplikacji sieci Web ASP.NET

  1. Otwórz okno wiersza polecenia.

  2. Inicjowanie zmiennych środowiskowych profilowania.Typ:

    VSPerfClrEnv {/globalsamplegc | /globalsamplegclife} [/samplelineoff]

    • Opcje /globalsamplegc i /globalsamplegclife określają typ zbierania danych pamięci.

      Określ jedną i tylko jedną z następujących opcji.

      Opcja

      Opis

      /globalsamplegc

      Umożliwia zbieranie danych alokacji pamięci.

      /globalsamplegclife

      Umożliwia zbieranie danych alokacji pamięci i danych o okresie istnienia obiektów.

    • Opcja /samplelineoff wyłącza przypisanie zebranych danych do określonego źródła wierszy kodu.Jeśli ta opcja zostanie określona, dane są przypisane na poziomie funkcji.

  3. Uruchom ponownie komputer, aby ustawić nową konfigurację środowiska.

  4. Otwórz okno wiersza polecenia.Jeśli to konieczne, ustaw zmienną środowiskową ścieżki programu Profiler.

  5. Uruchom program Profiler.Typ:

    VSPerfCmd /start:sample /output**:**OutputFile [Options]

    • Opcja /start:sample inicjuje profiler.

    • Opcja **/output:**OutputFile, jest wymagana z /start.OutputFile określa nazwę i lokalizację pliku danych profilowania (vsp).

    Możesz użyć dowolnej z następujących opcji z opcją /start:sample.

    [!UWAGA]

    Opcje /user i /crosssession są zazwyczaj wymagane dla aplikacji ASP.NET.

    Opcja

    Opis

    /user:[Domain]\]UserName

    Określa nazwę domeny i konto użytkownika, 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.

    /crosssession

    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ślona jako skrót dla /crosssession.

    /waitstart [:Interval]

    Określa liczbę sekund oczekiwania na zainicjowanie programu Profiler, zanim zostanie zwrócony błąd.Jeśli Interval nie jest określony, program Profiler oczekuje w nieskończoność.Domyślnie, niezwłocznie zostaje zwrócony /start.

    /wincounter:WinCounterPath

    Określa licznik wydajności systemu Windows, który ma zbierać dane podczas profilowania.

    /automark:Interval

    Używaj wyłącznie z /wincounter.Określa liczbę milisekund między zdarzeniami zbierania licznika wydajności systemu Windows.Wartość domyślna to 500 ms.

    /zdarzenia:Config

    Określa zdarzenie śledzenia zdarzeń systemu Windows (ETW), które mają być zbierane podczas profilowania.Zdarzenia ETW są zbierane w oddzielnym pliku (.etl).

  6. Uruchom aplikację sieci Web ASP.NET w typowy sposób.

  7. Dołącz program Profiler do procesu roboczego ASP.NET.Typ:

    VSPerfCmd /attach:{PID|ProcName} [/targetclr**:**Version]

    • Identyfikator procesu (PID) określa identyfikator procesu lub nazwę procesu roboczego ASP.NET.W Menedżerze zadań systemu Windows można wyświetlić identyfikatory i nazwy wszystkich uruchomionych procesów.

    • **/targetclr:**Version określa wersję środowiska wykonawczego języka wspólnego (CLR) do profilowania, gdy więcej niż jedna wersja środowiska wykonawczego jest załadowana w aplikacji.

Kontrolowanie zbierania danych

Podczas uruchomienia aplikacji, 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 VSPerfCmd uruchamiają i zatrzymują zbieranie danych.Określ każdą opcję w oddzielnym wierszu poleceń.Zbieranie danych można wielokrotnie włączać i wyłączać.

    Opcja

    Opis

    /globalon /globaloff

    Uruchamia (/globalon) lub zatrzymuje (/globaloff) zbieranie danych dla wszystkich procesów.

    /processon:PID/processoff:PID

    Uruchamia (/processon) lub zatrzymuje (/processoff) zbieranie danych dla procesu określonego przez PID.

    /attach:{PID|ProcName} /detach[:{PID|:ProcName}]

    /attach uruchamia zbieranie danych dla procesu, który jest określony przez identyfikator procesu lub nazwę procesu./detach zatrzymuje zbieranie danych dla określonego procesu lub dla wszystkich procesów, jeśli konkretny proces nie jest określony.

Kończenie sesji profilowania

Aby zakończyć sesję profilowania, program Profiler musi zostać odłączony od aplikacji sieci Web.Można zatrzymać zbieranie danych z aplikacji, która jest profilowana metodą pobierania próbek, uruchamiając ponownie proces roboczy ASP.NET lub wywołując opcję VSPerfCmd /detach.Następnie należy wywołać opcję VSPerfCmd /shutdown, aby wyłączyć program Profiler i zamknąć plik danych profilowania.Polecenie VSPerfClrEnv /globaloff usuwa zmienne środowiskowe profilowania, ale konfiguracja systemu nie jest resetowana do ponownego uruchomienia komputera.

Aby zakończyć sesję profilowania

  1. Wykonaj jeden z następujących kroków, aby odłączyć program Profiler od aplikacji docelowej:

    • Wpisz VSPerfCmd /detach

      -lub-

    • Zamknij proces roboczy ASP.NET.Typ:

    IISReset /stop

  2. Zamknij program Profiler.Typ:

    VSPerfCmd /shutdown

  3. (Opcjonalne) Wyczyść zmienne środowiskowe profilowania.Typ:

    VSPerfCmd /globaloff

  4. Uruchom ponownie komputer.Jeśli to konieczne, należy ponownie uruchomić Internet Information Services (IIS).Typ:

    IISReset /start

Zobacz też

Koncepcje

Profilowanie wiersza polecenia aplikacji sieci Web ASP.NET

Inne zasoby

Widoki danych pamięci profilera .NET