Sdílet prostřednictvím


Výkon rozhraní .NET Framework

Pokud chcete vytvářet aplikace s velkým výkonem, měli byste navrhnout a naplánovat výkon stejně, jako byste navrhli jakoukoli jinou funkci aplikace. Pomocí nástrojů poskytovaných Microsoftem můžete měřit výkon vaší aplikace a v případě potřeby vylepšit využití paměti, propustnost kódu a rychlost odezvy. Toto téma obsahuje seznam nástrojů pro analýzu výkonu, které Microsoft poskytuje, a obsahuje odkazy na další témata, která pokrývají výkon pro konkrétní oblasti vývoje aplikací.

Navrhování a plánování výkonu

Pokud chcete mít skvělou aplikaci, musíte navrhnout výkon do aplikace stejně, jako byste navrhli jakoukoli jinou funkci. Měli byste určit kritické scénáře výkonu ve vaší aplikaci, nastavit cíle výkonu a měřit výkon pro tyto scénáře aplikací včas a často. Vzhledem k tomu, že každá aplikace je odlišná a má různé cesty provádění kritické pro výkon, můžete tyto cesty včas určit a zaměřit se na vaše úsilí, abyste maximalizovali svou produktivitu.

Abyste mohli vytvořit vysoce výkonnou aplikaci, nemusíte být plně obeznámeni s cílovou platformou. Měli byste ale porozumět tomu, které části cílové platformy jsou nákladné z hlediska výkonu. Můžete to provést měřením výkonu v rané fázi procesu vývoje.

Pokud chcete určit oblasti, které jsou klíčové pro výkon a stanovit vaše cíle výkonu, vždy zvažte uživatelské prostředí. Doba spuštění a rychlost odezvy jsou dvě klíčové oblasti, které ovlivní vnímání vaší aplikace uživatelem. Pokud vaše aplikace používá hodně paměti, může se uživateli zdát pomalé nebo může ovlivnit jiné aplikace spuštěné v systému, nebo v některých případech může selhat proces odeslání z Windows Storu nebo Windows Phone Storu. Pokud také zjistíte, které části kódu se spouštějí častěji, můžete zajistit, aby byly tyto části kódu dobře optimalizované.

Analýza výkonu

V rámci celkového plánu vývoje nastavte body během vývoje, kde budete měřit výkon aplikace a porovnat výsledky s cíli, které jste nastavili dříve. Změřte aplikaci v prostředí a hardwaru, které očekáváte, že vaši uživatelé budou mít. Díky počáteční analýze výkonu vaší aplikace a často můžete změnit rozhodnutí o architektuře, která by byla nákladná a nákladná k opravě později ve vývojovém cyklu. Následující části popisují nástroje pro měření výkonu, které můžete použít k analýze aplikací a prodiskutování trasování událostí, které tyto nástroje používají.

Nástroje pro měření výkonu

Tady jsou některé nástroje pro zvýšení výkonu, které můžete použít s aplikacemi rozhraní .NET Framework.

Nástroj Popis
Analýza výkonu sady Visual Studio Slouží k analýze využití procesoru aplikací rozhraní .NET Framework, které budou nasazeny do počítačů s operačním systémem Windows.

Tento nástroj je k dispozici v nabídce Ladění v sadě Visual Studio po otevření projektu. Další informace naleznete v tématu Průzkumník výkonu. Poznámka: Při cílení na Windows Phone použijte analýzu aplikací pro Windows Phone (viz další řádek).
Analýza aplikací pro Windows Phone Umožňuje analyzovat procesor a paměť, rychlost přenosu dat v síti, rychlost odezvy aplikací a spotřebu baterie v aplikacích pro Windows Phone.

Tento nástroj je k dispozici v nabídce Ladění v sadě Visual Studio pro projekt Windows Phone po instalaci Windows Phone SDK. Další informace najdete v tématu Profilace aplikací pro Windows Phone 8.
PerfView Slouží k identifikaci problémů s výkonem souvisejícím s procesorem a pamětí. Tento nástroj používá trasování událostí pro Windows (ETW) a rozhraní API pro profilaci CLR k poskytování pokročilých šetření paměti a procesoru a také informace o uvolňování paměti a kompilaci JIT. Další informace o používání nástroje PerfView najdete v blogových příspěvcích.
Nástroj pro analýzu výkonu Windows Slouží k určení celkového výkonu systému, jako je paměť a úložiště vaší aplikace, když na stejném počítači běží více aplikací. Tento nástroj je k dispozici v centru pro stahování jako součást sady Windows Assessment and Deployment Kit (ADK) pro Windows 8. Další informace naleznete v tématu Analyzátor výkonu systému Windows.

Trasování událostí pro Windows (ETW)

EtW je technika, která umožňuje získat diagnostické informace o spouštění kódu a je nezbytná pro mnoho nástrojů výkonu zmíněných dříve. EtW vytvoří protokoly při vyvolání konkrétních událostí aplikacemi rozhraní .NET Framework a Windows. S ETW (Trasování událostí pro Windows) můžete dynamicky povolit a zakázat protokolování, tak abyste mohli provádět podrobné trasování v produkčním prostředí bez restartování aplikace. Rozhraní .NET Framework nabízí podporu událostí etW a etW používá mnoho nástrojů pro profilaci a výkon k vygenerování dat o výkonu. Tyto nástroje často povolují a zakazují události ETW, takže znalost těchto nástrojů je užitečná. Ke shromažďování informací o výkonu konkrétních komponent vaší aplikace můžete použít specifické události ETW. Další informace o podpoře ETW v rozhraní .NET Framework naleznete v tématu Události ETW v Common Language Runtime a Události ETW v knihovně paralelních úloh a PLINQ.

Výkon podle typu aplikace

Každý typ aplikace .NET Framework má své vlastní osvědčené postupy, důležité informace a nástroje pro vyhodnocení výkonu. Následující tabulka obsahuje odkazy na témata týkající se výkonu pro konkrétní typy aplikací rozhraní .NET Framework.

Typ aplikace Podívejte se
Aplikace .NET Framework pro všechny platformy Kolekce paměti a výkon

Tipy pro zvýšení výkonu
Aplikace pro Windows 8.x Store napsané v jazyce C++, C# a Visual Basic Osvědčené postupy z hlediska výkonu pro aplikace pro Windows Store pomocí C++, C# a Visual Basicu
Windows Presentation Foundation (WPF) WPF Performance Suite
ASP.NET Přehled výkonu ASP.NET
Titulek Popis
Ukládání do mezipaměti v aplikacích .NET Framework Popisuje techniky ukládání dat do mezipaměti za účelem zlepšení výkonu ve vaší aplikaci.
Opožděná inicializace Popisuje, jak inicializovat objekty podle potřeby ke zlepšení výkonu, zejména při spuštění aplikace.
Spolehlivost Poskytuje informace o zabránění asynchronním výjimkám v serverovém prostředí.
Psaní rozsáhlých a responzivních aplikací rozhraní .NET Framework Poskytuje tipy pro zvýšení výkonu shromážděné při přepisování kompilátorů jazyka C# a Visual Basic ve spravovaném kódu a obsahuje několik skutečných příkladů z kompilátoru jazyka C#.