Udostępnij za pośrednictwem


Porady: instrumentacja statycznie 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 poleceń Visual Studio Narzędzi profilujących do instrumentacji wstępnie skompilowanych składników sieci Web lub witryn sieci Web ASP.NET i zbierania danych przydziału pamięci, okresu istnienia obiektów i szczegółowych danych czasowych.

[!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 zebrać dane ze składnika sieci Web ASP.NET używając metody instrumentacji, należy użyć narzędzia VSInstr.exe, aby wygenerować instrumentowaną wersję składnika.Na komputerze, który obsługuje składnik, należy zamienić nieinstrumentowaną wersję składnika na wersję instrumentowaną.Następnie użyj narzędzia VSPerfCLREnv.cmd, aby zainicjować zmienne środowiskowe globalnego profilowania i ponownie uruchomić komputer-host.Następnie uruchom program profilujący.

Po wykonaniu instrumentowanego składnika, dane chronometrażu są automatycznie zbierane do pliku danych.Możesz wstrzymywać i wznawiać zbieranie danych podczas sesji profilowania.

Aby zakończyć sesję profilowania, zamknij proces roboczy ASP.NET, obsługujący składnik i następnie jawnie zamknij program profilujący.W większości przypadków na końcu sesji zaleca się wyczyszczenie zmiennych środowiskowych profilowania.

Uruchamianie profilowania

Aby instrumentować składnik sieci Web ASP.NET i uruchomić profilowanie

  1. Użyj narzędzia VSInstr do generacji instrumentowanej wersji aplikacji docelowej.Jeśli to konieczne, należy zastąpić pliki binarne aplikacji na komputerze hosta ASP.NET instrumentowanymi plikami binarnymi.

  2. Otwórz okno wiersza polecenia

  3. Zainicjuj profilowanie zmiennych środowiskowych .NET.W oknie wiersza polecenia wpisz:

    VSPerfClrEnv /globaltracegc

    -lub-

    VSPerfClrEnv /globaltracegclife

    • /globaltracegc zbiera dane alokacji pamięci .NET i chronometrażu.

    • /globaltracegclife zbiera dane alokacji pamięci .NET, okresu istnienia obiektu oraz szczegółowego chronometrażu.

  4. Uruchom ponownie komputer.

  5. Otwórz okno wiersza polecenia.

  6. Uruchom program Profiler.W oknie wiersza polecenia wpisz:

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

    • Opcja /start:trace inicjuje program profilujący.

    • 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:trace.

    [!UWAGA]

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

    Opcja

    Opis

    /user:[Domain]\]UserName

    Określa opcjonalną 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, który jest inny niż zalogowany użytkownik. Nazwa jest wyświetlana w kolumnie Nazwa użytkownika na karcie Procesy Menedżera zadań systemu Windows.

    /crosssession

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

    /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).

    /globaloff

    Aby rozpocząć wstrzymane zbieranie danych przez profiler należy dodać opcję /globaloff do wiersza polecenia /start.Użyj /globalon aby wznowić profilowanie.

  7. Otwórz witrynę sieci Web, zawierającą instrumentowany składnik.

Kontrolowanie zbierania danych

Gdy jest uruchomiona aplikacja docelowa, można kontrolować zbieranie danych przez uruchamianie i zatrzymywanie zapisywanie danych do pliku 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

  • Poniższe pary opcji 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 identyfikator procesu (PID).

    /threadon:TID/threadoff:TID

    Uruchamia (/threadon) lub zatrzymuje (/threadoff) zbieranie danych dla wątku określonego przez identyfikator wątku (TID).

Kończenie sesji profilowania

Aby zakończyć sesję profilowania, zamknij aplikację sieci Web ASP.NET, a następnie użyj polecenia Internet Information Services (IIS) IISReset, aby zamknąć proces roboczy ASP.NET.Wywołaj opcję VSPerfCmd /shutdown, aby wyłączyć program profilujący i zamknąć plik danych profilowania.Polecenie VSPerfClrEnv /globaloff czyści zmienne środowiskowe profilowania.Należy ponownie uruchomić komputer, aby nowe ustawienia środowiska zostały zastosowane.

Aby zakończyć sesję profilowania

  1. Zamknij aplikację sieci Web ASP.NET.

  2. Zamknij proces roboczy ASP.NET.Typ:

    IISReset /stop

  3. Zamknij program Profiler.Typ:

    VSPerfCmd/shutdown

  4. (Opcjonalny).Wyczyść zmienne środowiskowe profilowania.Typ:

    VSPerfCmd /globaloff

  5. Uruchom ponownie komputer.W razie potrzeby uruchom ponownie usługę IIS.Typ:

    IISReset /start

Zobacz też

Koncepcje

Profilowanie wiersza polecenia aplikacji sieci Web ASP.NET

Inne zasoby

Widoki danych pamięci profilera .NET