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í
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.
Otevřete okno příkazového řádku
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í.
Restartujte počítač.
Otevřete okno příkazového řádku.
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.
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).
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.
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
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í
Zavřete webovou aplikaci ASP.NET.
Zavřete pracovní proces ASP.NET.Zadejte:
IISReset /stop
Ukončete profiler.Zadejte:
VSPerfCmd/shutdown
(Volitelné).Vyčistěte proměnné prostředí pro profilování.Zadejte:
VSPerfCmd /globaloff
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