Postupy: Připojení profileru k webové aplikaci ASP.NET ke shromažďování dat paměti pomocí příkazového řádku
Toto téma popisuje způsob použití nástrojů příkazového řádku nástrojů profilování systému Visual Studio k připojení profilování k webové aplikaci ASP.NET a ke shromažďování dat o počtu a velikosti přidělení paměti rozhraním .NET Framework.Lze také shromažďovat data o životnosti objektů v paměti rozhraní .NET Framework.
[!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.
Chcete-li shromažďovat data z webové aplikace ASP.NET je nutné použít nástroj VSPerfCLREnv.cmd k inicializaci příslušných proměnných prostředí v počítači, který je hostitelem webové aplikace ASP.NET.Poté je nutné restartovat počítač, pokud chcete nakonfigurovat webový server pro profilování.
Poté použijte nástroj VSPerfCmd.exe k připojení profilování k pracovnímu procesu technologie ASP.NET, který je hostitelem webu.Když je profiler připojen k aplikaci, lze pozastavit a obnovit sběr dat.
Chcete-li ukončit relaci profilování, profiler nesmí být již připojen k aplikaci a musí být explicitně vypnut.Ve většině případů doporučujeme na konci relace vyčistit proměnné prostředí profilování.
Připojení profileru
Připojení profileru k webové aplikaci ASP.NET
Otevřete okno příkazového řádku.
Inicializujte proměnné prostředí pro profilování.Zadejte:
VSPerfClrEnv {/globalsamplegc | /globalsamplegclife} [/samplelineoff]
Možnosti /globalsamplegc a /globalsamplegclife určují typ dat paměti pro sběr.
Určete pouze jednu z následujících možností.
Možnost
Description
/globalsamplegc
Umožňuje sběr dat přidělení paměti.
/globalsamplegclife
Umožňuje sběr dat přidělení paměti a životního cyklu objektů.
Možnost /samplelineoff zakáže přiřazení shromážděných dat ke konkrétnímu zdroji řádků kódu.Pokud je tato možnost zadána, jsou data přiřazena na úrovni funkce.
Pro uložení nového nastavení prostředí je třeba restartovat počítač.
Otevřete okno příkazového řádku.V případě potřeby nastavte proměnné prostředí profilování.
Spusťte profiler.Zadejte:
VSPerfCmd /start:sample /output**:**OutputFile [Options]
Možnost /start:sample inicializuje profiler.
Možnost **/output:**OutputFile je vyžadována s možností /start.OutputFile určuje název a umístění souboru dat profilování (.vsp).
S možností /start:sample 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 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 pod jiným uživatelem, než je přihlášený uživatel.Vlastník procesu je uveden ve sloupci Uživatelské jméno na záložce Procesy ve Správci úloh systému Windows.
Umožňuje profilování procesů v jiných přihlašovacích relacích.Tato možnost je vyžadována, je-li aplikace ASP.NET spuštěna v jiné relaci.Identifikátor relace je vypsán ve sloupci ID relace na záložce Procesy ve Správci úloh systému Windows./CS může být zadán jako zkratka pro /crosssession.
/waitstart [:Interval]
Určuje počet sekund, po které se má čekat na inicializaci profileru, než je vrácena chyba.Není-li zadán parametr Interval, čeká profiler neomezeně dlouho.Ve výchozím nastavení příkaz /start vrátí hodnotu okamžitě.
/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).
Spusťte webovou aplikaci ASP.NET obvyklým způsobem.
Připojte profilování k pracovnímu procesu technologie ASP.NET.Zadejte:
VSPerfCmd /attach:{PID|ProcName} [/targetclr**:**Version]
Identifikátor procesu (PID) určuje identifikátor procesu nebo název procesu pracovního procesu technologie ASP.NET.ID všech spuštěných procesů lze zobrazit ve Správci úloh systému Windows.
**/targetclr:**Version určuje verzi modulu CLR (Common Language Runtime), která má být profilována v případě, že je do aplikace načtena více než jedna verze modulu.
Řízení sběru dat
Pokud je aplikace spuštěna, může být sběr dat řízen spuštěním nebo zastavením zápisu dat do profilovacích dat použitím možností příkazu 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í VSPerfCmd 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ý identifikátorem PID.
/attach:{PID|ProcName} /detach[:{PID|:ProcName}]
/attach spustí sběr dat pro proces určený identifikátorem procesu nebo názvem procesu./detach zastaví sběr dat pro zadaný proces nebo pro všechny procesy, pokud konkrétní proces není zadán.
Ukončení relace profilování
Chcete-li ukončit relaci profilování, musí být profilování odpojeno od webové aplikace.Sběr dat z aplikace, která je profilována metodou vzorkování, lze zastavit pomocí restartování pracovního procesu technologie ASP.NET nebo voláním možnosti VSPerfCmd /detach.Poté je nutné zavolat možnost VSPerfCmd /shutdown, čímž se profilování vypne a uzavře soubor dat profilování.Příkaz VSPerfClrEnv /globaloff vymaže proměnné prostředí profilování, ale konfigurace systému není obnovena, až do restartování počítače.
Ukončení relace profilování
Chcete-li odpojit profiler od cílové aplikace, proveďte jeden z následujících kroků:
Zadejte VSPerfCmd /detach
-nebo-
Zavřete pracovní proces technologie 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