Sdílet prostřednictvím


Postupy: Instrumentace staticky kompilované webové aplikace ASP.NET a shromažďování dat paměti pomocí příkazového řádku profileru

Toto téma popisuje použití nástrojů příkazového řádku nástrojů pro profilaci sady Visual Studio k instrumentaci předkompilované webové komponenty nebo webu ASP.NET a sběru dat o alokaci paměti .NET, životnosti objektu a podrobnostech časování.

[!POZNÁMKA]

Nástroje příkazového řádku balíku nástrojů pro profilaci jsou umístěny v podadresáři \Team Tools\Performance Tools instalačního adresáře aplikace Visual Studio.Na 64bitových počítačích jsou k dispozici 64bitové i 32bitové verze nástrojů.Chcete-li využívat nástroje příkazového řádku profileru, je nezbytné přidat cestu k nástrojům do proměnné prostředí PATH v okně příkazového řádku nebo do příkazu samého.Další informace naleznete v tématu Určení cesty k nástrojům příkazového řádku pro profilaci.

Pro shromáždění dat z webové komponenty ASP.NET pomocí metody instrumentace je používán VSInstr.exe, který generuje instrumentovanou verzi komponenty.V počítači, který je hostitelem součásti, nahradíte neinstrumentovanou verzi součásti instrumentovanou verzí.Nástroj VSPerfCLREnv.cmd poté použijte pro inicializování globálních proměnných profilování a restartujte hostitelský počítač.Poté je spuštěn profiler.

Po spuštění instrumentované komponenty jsou automaticky shromážděny časové údaje do souboru dat.Během relace profilování lze sběr dat pozastavovat a obnovovat.

Chcete-li ukončit relaci profilování, zavřete pracovní proces ASP.NET, který je hostitelem komponenty, a potom explicitně vypněte profiler.Ve většině případů doporučujeme na konci relace vyčistit proměnné prostředí profilování.

Spuštění do profilu

Vybavení webového komponentu ASP.NET a spuštění profilování

  1. Vygenerujte instrumentovanou verzi cílové aplikace pomocí nástroje VSInstr.V případě potřeby nahraďte binární soubory aplikace ASP.NET hostitelského počítače instrumentovanými binárními soubory.

  2. Otevřete okno příkazového řádku

  3. Inicializace proměnných prostředí profilování rozhraní .NET.Do příkazového řádku zadejte:

    VSPerfClrEnv /globaltracegc

    -nebo-

    VSPerfClrEnv /globaltracegclife

    • /globaltracegc shromažďuje data o přidělování paměti .NET a data časování.

    • /globaltracegclife shromažďuje alokaci paměti .NET, dobu života objektu a podrobná data o časování.

  4. Restartujte počítač.

  5. Otevřete okno příkazového řádku.

  6. Spusťte profiler.Do příkazového řádku zadejte:

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

    • Možnost /start:trace inicializuje profiler.

    • Spolu s možností /start je vyžadována možnost /output**:**OutputFile.OutputFile určuje název a umístění souboru dat profilování (.vsp).

    S možností /start:trace lze použít kteroukoli z následujících možností.

    [!POZNÁMKA]

    Možnosti /user a /crosssession jsou obvykle požadovány pro aplikace ASP.NET.

    Možnost

    Description

    /user:[Domain\]UserName

    Určuje volitelnou doménu a uživatelské jméno účtu vlastnícího pracovní proces ASP.NET.Tato možnost je vyžadována, pokud je proces spuštěn jako uživatel, který se liší od přihlášeného uživatele. Název je uveden ve sloupciUuživatelské jméno na kartě Procesy Správce úloh systému Windows.

    /crosssession

    Umožňuje profilování procesů v jiných relacích.Tato možnost je vyžadována, pokud je aplikace spuštěna v jiné relaci.ID relace je uvedeno ve sloupci ID relace na kartě Procesy ve Správci úloh systému Windows./CS může být zadán jako zkratka pro /crosssession.

    /wincounter:WinCounterPath

    Určuje čítač výkonu systému Windows, který má být shromážděn během profilování.

    /automark:Interval

    Použijte pouze spolu s možností /wincounter.Určuje počet milisekund mezi událostmi sběru čítače výkonu systému Windows.Výchozí hodnota je 500 ms.

    /events:Config

    Určuje událost ETW, která má být shromážděna během profilování.Události trasování událostí pro Windows jsou shromážděny v samostatném souboru (.etl).

    /globaloff

    Chcete-li spustit profiler s pozastaveným sběrem dat, přidejte do příkazového řádku /start možnost /globaloff.Obnovu profilování provedete pomocí /globalon.

  7. Otevřete web, který obsahuje instrumentovanou komponentu.

Řízení sběru dat

Když je cílová aplikace spuštěna, lze sběr dat řídit spouštěním či pozastavováním zápisu dat do souboru pomocí možností nástroje VSPerfCmd.exe.Řízení sběru dat umožňuje shromažďovat data pro určitou část programu, například spouštění či ukončování aplikace.

Spuštění a zastavení sběru dat

  • Následující páry možností spouští a zastavují sběr dat.Každou možnost zadejte na samostatný příkazový řádek.Sběr dat lze zapnout a vypnout několikrát.

    Možnost

    Description

    /globalon /globaloff

    Spustí (/globalon) nebo zastaví (/globaloff) sběr dat pro všechny procesy.

    /processon:PID/processoff:PID

    Spustí (/processon) nebo zastaví (/processoff) sběr dat pro proces určený pomocí ID procesu (PID).

    /threadon:TID/threadoff:TID

    Spustí (/threadon) nebo zastaví (/threadoff) sběr dat pro vlákno určené pomocí ID vlákna (TID).

Ukončení relace profilování

Chcete-li ukončit relaci profilování, zavřete webovou aplikaci ASP.NET a potom pomocí příkazu Internetové informační služby (IIS) IISReset zavřete pracovní proces ASP.NET.Volejte možnost VSPerfCmd /shutdown k vypnutí profileru a zavření souboru dat profilování.Příkaz VSPerfClrEnv /globaloff vymaže proměnné prostředí profilování.Pro aplikování nového nastavení prostředí je nutné restartovat počítač.

Ukončení relace profilování

  1. Zavřete webovou aplikaci ASP.NET.

  2. Zavřete pracovní proces ASP.NET.Zadejte:

    IISReset /stop

  3. Ukončete profiler.Zadejte:

    VSPerfCmd/shutdown

  4. (Volitelné).Vyčistěte proměnné prostředí pro profilování.Zadejte:

    VSPerfCmd /globaloff

  5. Restartujte počítač.V případě potřeby restartujte službu IIS.Zadejte:

    IISReset /start

Viz také

Koncepty

Profilace webových aplikací ASP.NET z příkazového řádku

Další zdroje

Zobrazení dat paměti .NET nástrojů pro profilaci