Sdílet prostřednictvím


Výběr mezi profilerem výkonu sady Visual Studio, sadou Windows Performance Toolkit a PerfView

Tato příručka poskytuje obecné porovnání primárních technologií profilace výkonu pro obecné účely v Microsoftu: Visual Studio Performance Profiler, Windows Performance Toolkit a PerfView.

Tyto nástroje vám můžou pomoct diagnostikovat a pochopit charakteristiky výkonu vašich aplikací ve Windows. Cílem tohoto průvodce je poskytnout přehled o tom, kdy se vzájemně používat, zvýraznit každou z jejich silných stránek a nabídnout stručný přehled o funkcích, které obsahují.

Přehled

Visual Studio Performance Profiler vytvořil tým Visual Studio pro rychlé pochopení charakteristik výkonu aplikace, která je vyvíjena v rámci existujícího systému projektů sady Visual Studio. Jeho síla je úzce integrována s aktivním vývojovým projektem, zjednodušuje analýzu nejběžnějších scénářů výkonu a rychlá a snadná kolekce pouze jedné aplikace.

Sada Windows Performance Toolkit je vytvořená týmem Windows pro pochopení systémových charakteristik celého počítače najednou. I když vyrůstala z potřeby analyzovat hardware a ovladače, je velmi efektivní při pochopení problémů se softwarem. Jeho síla spočívá ve shromažďování velkých objemů informací z celého stroje najednou, takže problémy s více procesy, hardwarem nebo ovladači a složité scénáře jsou vhodné pro tyto nástroje.

PerfView bylo vytvořeno týmem .NET k pochopení výkonu aplikací .NET. Podobně jako sada Windows Performance Toolkit může shromažďovat velké množství informací z celého počítače najednou. Rozlišuje se díky své schopnosti zobrazovat velmi podrobné informace o službách modulu runtime .NET, jako je uvolňování paměti, kompilace za běhu a fond spravovaných vláken. PerfView lze použít pro spravované, nativní a smíšené aplikace.

Mezi těmito nástroji existuje překryv. Často můžete začít zkoumat problém v jednom nástroji a přepnout na jiný pro jiné zobrazení stejného scénáře. Jindy bude jeden z těchto nástrojů efektivnější než ostatní.

Instalace

Profiler výkonu sady Visual Studio je součástí samotné sady Visual Studio a je instalovatelný prostřednictvím stejného průvodce instalací jako zbytek vývojového prostředí.

Sada Windows Performance Toolkit se dá stáhnout samostatně jako součást sady Windows Assessment and Deployment Kit. Nástroj Záznam výkonu příkazového řádku je však předinstalovaný s Windows 10 a Windows 11 jako wpr.exe dostupný na výchozí proměnné cesty z prostředí, jako je PowerShell a příkazový řádek.

Analyzátor výkonu je k dispozici jako aplikace v Microsoft Storu.

PerfView je k dispozici jako samostatný soubor ke stažení na stránce vydání GitHubu PerfView. Nevyžaduje se žádná instalace.

Přizpůsobení pro pokročilé scénáře analýzy výkonu

Sada Windows Performance Toolkit navíc nabízí dva body rozšiřitelnosti, které můžou sloužit pokročilým scénářům analýzy výkonu.

  • Sada Microsoft Performance Toolkit SDK zpracovává zpracování dat trasování a umožňuje vývojářům vytvářet vlastní moduly plug-in pro zobrazení v analyzátoru výkonu systému Windows.
  • .NET TraceProcessing umožňuje vytváření vlastních nástrojů, které můžou zpracovávat informace o trasování do výsledných tabulek, a je zvlášť užitečné pro automatizovanou analýzu dat hromadného trasování.

PerfView je podobně založen na knihovně TraceEvent pro programatické zpracování výkonnostních tras. TraceEvent lze použít nezávisle na nástroji PerfView k provádění vlastní analýzy dat trasování výkonu.

Poznámka:

Aby scénáře analýzy výkonu fungovaly, budete potřebovat přístup k symbolům , které korelují s testovanou aplikací pro Windows. Při sestavování pomocí sady Visual Studio se budou nacházet stejně jako v nastavení scénáře ladění – buď sestavené pomocí vašeho řešení, nebo zachycené ze serverů symbolů. Při analýze jiných knihoven nebo komponent budete muset vyhledat symboly pro tyto komponenty, abyste mohli dokončit analýzu.

Důležité informace o výběru nástroje

Nástroj, který chcete zvolit, závisí na scénáři výkonu, který se pokoušíte prozkoumat. Porovnání funkcí a vlastností mezi nástroji je k dispozici v následující tabulce, kde:

  • Dobře podporovaný znamená, že nástroj je navržený pro zamýšlený úkol a dosahuje robustních a podrobných výsledků.
  • Podporované znamená, že nástroj může vyžadovat další konfiguraci nebo kroky k dosažení požadovaných výsledků. Může obsahovat omezený rozsah akce v rámci kategorie.
  • Nepodporováno znamená, že nástroj není určený pro toto použití.

Návod

Obecně platí, že je vhodné začít s profilováním sady Visual Studio, pokud je to možné. Přejděte na Sadu nástrojů Windows Performance Toolkit nebo PerfView při dosažení omezení možností nástrojů sady Visual Studio.

Situace Profiler výkonu sady Visual Studio Windows Performance Toolkit (nástroj pro měření výkonu systému Windows) PerfView
Důležité informace o obecném použití
Velikost stopového souboru Dobře podporovaná podporované podporované
Získání nástrojů Dobře podporovaná Dobře podporovaná Dobře podporovaná
Sady rozšiřitelnosti Není podporováno Dobře podporovaná Dobře podporovaná
rozsah práce
Jeden proces nebo projekt Dobře podporovaná podporované podporované
Více procesů Není podporováno Dobře podporovaná Dobře podporovaná
Úvahy o hardwaru
Využití procesoru Dobře podporovaná Dobře podporovaná Dobře podporovaná
Využití GPU Dobře podporovaná Dobře podporovaná Není podporováno
Využití paměti Dobře podporovaná Dobře podporovaná Dobře podporovaná
Vstup/výstup zařízení Není podporováno Dobře podporovaná Dobře podporovaná
Využití energie Není podporováno Dobře podporovaná Není podporováno
Systémové popisovače Není podporováno Dobře podporovaná Dobře podporovaná
Úvahy o podpoře programovacích jazyků
Podpora pro C/C++ Dobře podporovaná Dobře podporovaná Dobře podporovaná
Podpora pro .NET Dobře podporovaná Dobře podporovaná Dobře podporovaná
Podpora JavaScriptu podporované podporované podporované
Úvahy o scénářích
Trasování událostí pro Windows podporované Dobře podporovaná Dobře podporovaná
Složení Není podporováno Dobře podporovaná Není podporováno
HTML/Edge/Internet Explorer/Webview Není podporováno Dobře podporovaná Není podporováno
XAML/WinUI podporované Dobře podporovaná Dobře podporovaná
Kanály zvuku a videa a závady Není podporováno Dobře podporovaná Není podporováno
Časování databáze Dobře podporovaná Není podporováno Není podporováno
Přidělování spravovaných objektů a automatické uvolňování paměti Dobře podporovaná Není podporováno Dobře podporovaná
Vlastní scénáře Není podporováno Dobře podporovaná Dobře podporovaná

Důležité informace o obecném použití

Pro ty, kteří teprve začínají analýzou výkonu, doporučujeme nástroj Visual Studio Performance Profiler jako dobře integrovanou funkci v existující vývojové sadě sady Visual Studio. Doporučujeme použít profilovací nástroj výkonu ve Visual Studiu místo PerfView, pokud to vyhovuje vašim potřebám.

Pro složitější analýzu výkonu systému, která může vyžadovat větší výkon a všestrannost, doporučujeme sadu nástrojů Windows Performance Toolkit, která se skládá ze dvou nástrojů sloužících k provádění úloh analýzy výkonu:

  • Windows Záznamník výkonu, který je k dispozici jako nástroj příkazového řádku i s grafickým rozhraním, je zodpovědný za zachycení relace trasování.
  • analyzátoru výkonu systému Windows se později otevře pro následné zpracování shromážděných dat a poskytnutí vysoce přizpůsobitelného zobrazení analýzy.

Mezi výhody, které nabízí Visual Studio Performance Profiler, patří:

  • Dobrým úvodem k analýze výkonu v hlavních doménách.
  • zpracovává řadu složitostí analýzy a ladění automaticky na základě konfigurace projektu.
  • automaticky zvýrazní oblasti hlavních obav.
  • Je lepší zaměřit se pouze na jednu aplikaci, s menší a zaměřenější datovou sadou a menším rozsahem sběru dat.
  • Konkrétnější zaměření se během profilace promítá na menší dopad na jiné aplikace a hardware počítače, sníženou celkovou velikost generovaných a uložených trasovacích souborů a vyšší rychlost zpracování pro kontrolu informací po dokončení sběru.
  • Trvá kratší dobu spustit a dokončit trasovánís rychlejší schopností zkontrolovat a vrátit změny, protože výkonnostní profiler Visual Studio se zabývá pouze aplikací a ne celým systémem.
  • Shromažďování dat a výsledná analýza jsou všechny provedené v sadě Visual Studio, přičemž analytické stránky se spouští automaticky na závěr kolekce. Zobrazení sestavy se také automaticky zaměřuje na kritická místa nebo oblasti dění.

Mezi výhody, které nabízí Sada nástrojů Windows Performance Toolkit, patří:

  • dokumentaci a blog y poskytují týmy výkonu a diagnostiky Windows, které vám pomůžou začít.
  • Je lepší shromažďovat velmi velké soubory, zejména ze systémů, které jsou zaneprázdněné úlohami na pozadí. Jedná se o nástroj catch-all pro shromažďování informací, které budou následně filtrovány později v rozhraní Analyzátoru výkonu systému Windows.
  • Možnost přizpůsobení pokročilých scénářů analýzy výkonu pomocí bodů rozšiřitelnosti (Viz níže)

Mezi výhody, které PerfView nabízí, patří:

  • Ucelená integrovaná dokumentace a videa s přístupem k internetu propojená z aplikace.
  • Je snadné nasadit do produkčních prostředí pouhým zkopírováním PerfView.exe.
  • režim zapisovače letových údajů pro zachycení problémů, které je obtížné reprodukovat.
  • Velmi podrobná diagnostika služeb modulu runtime .NET.
  • Rozšiřitelné pro vlastní zobrazení.

Rozsah aspektů práce

Pro analýzy, které obklopují jednu aplikaci a zejména jeden proces, jsou všechny nástroje velmi schopné shromažďovat a rozumět výkonu. Výhodou je však i profiler výkonu sady Visual Studio, zejména pokud je zdroj aplikace a projektový systém již k dispozici. Modul profileru výkonu sady Visual Studio je navržený tak, aby shromažďoval informace o procesoru, GPU a paměti z binárního souboru podobným zjednodušeným způsobem jako funkce ladění F5. Se zaměřením pouze na jednu aplikaci tento mechanismus kolekce nabízí rychlejší obrat a efektivnější vývojářskou smyčku.

Zvolte PerfView, pokud Visual Studio nemá potřebné funkce, nejde spustit kvůli požadavkům na shromažďování (běžné v produkčních prostředích) nebo jsou potřeba podrobnější diagnostické funkce .NET.

V situacích s větší složitostí, které zahrnují více žádostí napříč procesy, hardwarová zařízení a jejich ovladačenebo se podrobně ponoří do technologií platformy Windows, je optimální volbou sada Windows Performance Toolkit.

Aspekty hardwaru

Profiler výkonu sady Visual Studio, Sada nástrojů Windows Performance Toolkit a PerfView můžou diagnostikovat procesor a paměť pro hlavní hardwarové komponenty, s profilerem výkonu sady Visual Studio a sadou Windows Performance Toolkit navíc podporující GPU. Nástroje jsou obecně dobře spárované při úvodní analýze v těchto oblastech.

Využití procesoru je možné analyzovat pomocí všech tří nástrojů a obvykle se zaznamenává pomocí vzorkování. Vzorkování periodicky zaznamenává zásobníkové stopy z aplikace a poskytuje hodnocení, jak často se vyskytují. Oba nástroje můžou toto chování upravit tak, aby místo toho používaly instrumentaci pro přesné účtování.

Využití GPU je možné analyzovat pomocí nástroje Visual Studio Performance Profiler i sady nástrojů Windows Performance Toolkit, která zachycuje obecný přehled informací.

využití paměti je možné analyzovat pomocí všech tří nástrojů, které shromažďují informace o prostoru haldy a zásobnících spojených s alokacemi v haldě.

V případě složitějších scénářů, jako je analýza síťových připojení, disků, zařízení, popisovačů nebo celkové spotřeby energie systému, je sada Windows Performance Toolkit lépe vybavena pro provádění analýzy. Tato data se nejlépe shromažďují přímo z operačního systému, protože odesílají požadavky na různé hardwarové komponenty. Sada Windows Performance Toolkit je vyvinuta společně s operačním systémem, takže je připravená a schopná shromažďovat tuto více systémově zaměřenou kategorii informací.

Důležité informace o podpoře jazyka kódu

Sada Windows Performance Toolkit se primárně zaměřuje na podporu jazyka C a C++, protože tyto jazyky se používají v základu kódu operačního systému Windows.

Podpora profileru výkonu sady Visual Studio se zaměřuje na širší škálu programovacích jazyků, počínaje technologiemi pocházejícími z .NET, jako je C# a ASP.NET pak se rozšiřuje směrem ven.

PerfView podporuje aplikace .NET a native (C a C++). Má hluboké znalosti modulů runtime .NET a možností souvisejících s webovými úlohami ASP.NET.

To neznamená, že Visual Studio nemůže analyzovat kód jazyka C nebo C++ nebo že Analyzátor výkonu systému Windows nemůže analyzovat aplikace .NET nebo že PerfView nemůže analyzovat webové aplikace. Nejlepší je začít s nástrojem, který nejlépe odpovídá analyzované aplikaci, aby využívala výhody jednotlivých nástrojů.

Důležité informace o scénářích

Všechny nástroje obsahují několik možností založených na scénářích pro studium výkonu aplikace.

Možnosti profileru výkonu sady Visual Studio se obvykle zaměřují na .NET, uživatelské rozhraní a databáze nacházející se v analyzované aplikaci.

Sada Windows Performance Toolkit se zaměřuje na komponenty a architektury operačního systému, jako jsou složení, zobrazení prohlížeče a závady v kanálech zpracování v reálném čase.

Ve scénářích, které vyžadují více přizpůsobené řešení, může nástroj Windows Performance Recorder kombinovat shromažďování dat v celém systému i dat souvisejících s aplikacemi do jedné relace záznamu. Tato funkce umožňuje vývojáři aplikací nabídnout zákazníkům kompletní řešení pro vyžádání údajů o výkonu z hardwaru, které se můžou lišit od toho, co se použilo k vývoji produktu. Další informace o tomto mechanismu najdete v sérii blogů Autorství vlastních profilů od týmu pro výkon a diagnostiku Windows.

Nástroj PerfView se zaměřuje na hloubkové šetření aplikací a modulů runtime .NET, ale je stejně schopný při zkoumání na úrovni více procesů a operačního systému.

Shrnutí

Visual Studio Performance Profiler, Windows Performance Toolkit a PerfView jsou tři robustní nástroje od Microsoftu, které vám umožňují porozumět výkonu vaší aplikace. Volba nástroje, který nejlépe vyhovuje vašim potřebám, vyžaduje řadu aspektů týkajících se vaší konkrétní situace. Doufáme, že vám tento průvodce poskytne informace potřebné pro správné rozhodování ohledně analýzy výkonu a také vás zveme, abyste nám poskytli zpětnou vazbu na této stránce níže. V případě problémů týkajících se výkonu vývoje Windows, hlaste prosím problém v úložišti Windows Dev Performance.