Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ez az útmutató általános összehasonlítást nyújt a Microsoft elsődleges általános célú teljesítményprofilozási technológiáiról: Visual Studio Performance Profiler, Windows Performance Toolkit és PerfView.
Ezek az eszközök segíthetnek az alkalmazások teljesítményjellemzőinek diagnosztizálásában és megértésében Windows rendszeren. Ennek az útmutatónak az a célja, hogy áttekintést nyújtson az egymáshoz való használatról, kiemelve az egyes erősségeiket, és rövid áttekintést nyújtson az általuk tartalmazott funkciókról.
Áttekintés
Visual Studio Performance Profiler a Visual Studio csapata hozza létre a meglévő Visual Studio projektrendszeren belüli fejlesztés alatt álló alkalmazások teljesítményjellemzőinek gyors megértéséhez. Erőssége szorosan integrálható az aktív fejlesztési projekttel, leegyszerűsíti a leggyakoribb teljesítményforgatókönyvek elemzését, és csak egyetlen alkalmazás gyors, egyszerű gyűjtését.
Windows performance toolkit a Windows csapata hozza létre a teljes számítógép rendszerszintű jellemzőinek egyidejű megértéséhez. Bár a hardverek és illesztőprogramok elemzésének szükségessége miatt nőtt fel, nagyon hatékony a szoftverproblémák megértésében is. Erőssége, hogy egyszerre nagy mennyiségű információt gyűjt a teljes gépről, így a többfolyamatos problémák, a hardverekkel vagy illesztőprogramokkal foglalkozók, valamint az összetett forgatókönyvek jól illeszkednek ezekhez az eszközökhöz.
PerfView a .NET-csapat hozza létre a .NET-alkalmazások teljesítményének megértéséhez. A Windows Performance Toolkithez hasonlóan egyszerre nagy mennyiségű információt gyűjthet a teljes gépről. Megkülönbözteti az a képesség, hogy nagyon részletes információkat jelenít meg a .NET futtatókörnyezeti szolgáltatásokról, például a szemétgyűjtésről, az igény szerinti fordításról és a felügyelt szálkészletről. A PerfView használható felügyelt, natív és vegyes módú alkalmazásokhoz.
Átfedés van ezek között az eszközök között. Gyakran elkezdheti egy probléma feltárását az egyik eszközben, és átválthat egy másikra, hogy ugyanazt a forgatókönyvet másként láthassa. Máskor az egyik eszköz hatékonyabb lesz, mint a többi.
Telepítés
A Visual Studio teljesítményprofilozója maga a Visual Studio összetevője, és ugyanazon a telepítővarázslón keresztül telepíthető,, mint a fejlesztési környezet többi része.
A Windows teljesítményeszközkészlet a Windows Assessment and Deployment Kitrészeként külön letölthető. A parancssori Teljesítményrögzítő eszköz azonban előre telepítve van a Windows 10 és a Windows 11 rendszeren, mivel wpr.exe elérhető az alapértelmezett elérési útvonal változóján a Rendszerhéjakból, például a PowerShellből és a parancssorból.
A Teljesítményelemző alkalmazásként érhető el a Microsoft Store.
A PerfView különálló letöltésként érhető el a PerfView GitHub Releases oldalon. Nincs szükség telepítésre.
Speciális teljesítményelemzési forgatókönyvek testreszabása
A Windows Performance Toolkit emellett két bővíthetőségi pontot is kínál, amelyek fejlett teljesítményelemzési forgatókönyveket szolgálnak ki.
- A Microsoft Performance Toolkit SDK kezeli a nyomkövetési adatok feldolgozását, és lehetővé teszi a fejlesztők számára, hogy saját beépülő modulokat építsenek a Windows Teljesítményelemzőn belül.
- .NET TraceProcessing lehetővé teszi olyan egyéni eszközök készítését, amelyek képesek a nyomkövetési információk eredményül kapott táblákba való feldolgozására, és különösen hasznosak a tömeges nyomkövetési adatok automatikus elemzéséhez.
PerfView hasonlóképpen a .NET TraceEvent könyvtáron alapul a teljesítmény nyomkövetések programozási felhasználásához. A TraceEvent a PerfView-tól függetlenül használható a teljesítménykövetési adatok egyéni elemzéséhez.
Megjegyzés:
A teljesítményelemzési forgatókönyvek működéséhez hozzá kell férnie a tesztelt Windows-alkalmazással korreláló szimbólumokhoz. Amikor a Visual Studio-val történő buildelés történik, ugyanúgy helyezkednek el, mint a hibakeresési forgatókönyv beállításaiban, akár a megoldással készülnek, akár szimbólumkiszolgálókról vannak rögzítve. Más kódtárak vagy összetevők elemzésekor meg kell keresnie az összetevők szimbólumait az elemzés elvégzéséhez.
Az eszköz kiválasztásával kapcsolatos szempontok
A kiválasztandó eszköz a vizsgálandó teljesítményforgatókönyvtől függ. A funkciók és tulajdonságok eszközök közötti összehasonlítását az alábbi táblázat tartalmazza, ahol:
- Jól támogatott azt jelenti, hogy az eszköz a kívánt feladathoz van tervezve, és robusztus és részletes eredményeket ér el.
- A támogatott érték azt jelenti, hogy az eszköz további konfigurációt vagy lépéseket igényelhet a kívánt eredmények eléréséhez. A kategórián belül korlátozott hatókörrel rendelkezhet.
- A nem támogatott azt jelenti, hogy az eszközt nem erre a célra tervezték.
Jótanács
Általános szabályként kezdje a Visual Studio Profiling használatával, ha lehetséges. Lépjen tovább Windows Teljesítményeszközkészlet vagy PerfView, amikor eléri a Visual Studio-eszközök által elvégezhető műveletek korlátait.
| Helyzet | Visual Studio Performance Profiler | Windows Teljesítmény Eszköztár | PerfView |
|---|---|---|---|
| Általános használati szempontok | |||
| Nyomkövetési fájl mérete | Jól támogatott | Támogatott | Támogatott |
| Szerszámbeszerzés | Jól támogatott | Jól támogatott | Jól támogatott |
| Bővíthetőségi készletek | Nem támogatott | Jól támogatott | Jól támogatott |
| A munka szempontjainak hatóköre | |||
| Egyetlen folyamat vagy projekt | Jól támogatott | Támogatott | Támogatott |
| Több folyamat | Nem támogatott | Jól támogatott | Jól támogatott |
| hardveres szempontok | |||
| CPU-használat | Jól támogatott | Jól támogatott | Jól támogatott |
| GPU-használat | Jól támogatott | Jól támogatott | Nem támogatott |
| Memóriahasználat | Jól támogatott | Jól támogatott | Jól támogatott |
| Eszköz bemenete/kimenete | Nem támogatott | Jól támogatott | Jól támogatott |
| Energiahasználat | Nem támogatott | Jól támogatott | Nem támogatott |
| Rendszerfogópontok | Nem támogatott | Jól támogatott | Jól támogatott |
| Kódnyelv támogatási szempontjai | |||
| C/C++ támogatása | Jól támogatott | Jól támogatott | Jól támogatott |
| A .NET támogatása | Jól támogatott | Jól támogatott | Jól támogatott |
| JavaScript-támogatás | Támogatott | Támogatott | Támogatott |
| Forgatókönyv megfontolások | |||
| Eseménykövetés a Windowshoz | Támogatott | Jól támogatott | Jól támogatott |
| Kompozíció | Nem támogatott | Jól támogatott | Nem támogatott |
| HTML/Edge/Internet Explorer/Webview | Nem támogatott | Jól támogatott | Nem támogatott |
| XAML/WinUI | Támogatott | Jól támogatott | Jól támogatott |
| Hang-/videofolyamatok és -hibák | Nem támogatott | Jól támogatott | Nem támogatott |
| Adatbázis időzítése | Jól támogatott | Nem támogatott | Nem támogatott |
| Felügyelt objektumok lefoglalása és szemétgyűjtés | Jól támogatott | Nem támogatott | Jól támogatott |
| Egyéni forgatókönyvek | Nem támogatott | Jól támogatott | Jól támogatott |
Általános használati szempontok
Azok számára, akik most ismerkednek a teljesítményelemzéssel, javasoljuk a Visual Studio Performance Profiler használatát, amely jól integrált funkcióként szerepel a meglévő Visual Studio fejlesztői csomagban. Ha megfelel az igényeinek, akkor a Visual Studio Performance Profiler használatát javasoljuk a PerfView-n keresztül.
Az összetettebb rendszerteljesítmény-elemzéshez, amely nagyobb teljesítményt és sokoldalúságot igényelhet, javasoljuk a Windows teljesítményelemző eszközkészletét, amely a teljesítményelemzési feladatok elvégzéséhez használt két eszközből áll:
- A nyomkövetési munkamenet rögzítéséért a Windows Teljesítményrögzítőfelel, amely parancssori eszközként és grafikus felületen is elérhető.
- A windowsos teljesítményelemző
később megnyílik az összegyűjtött adatok feldolgozásának után, és nagy mértékben testre szabható elemzési nézetet biztosít.
A Visual Studio Performance Profiler által kínált előnyök közül néhány:
- A fő tartományok teljesítményelemzésének jó bemutatása.
- A kezeli az elemzés és a hibakeresés számos összetettségét, a projektkonfiguráció alapján.
- A automatikusan kiemeli azfontos területeket .
- Jobb , ha csak egy alkalmazásraösszpontosít, kisebb, koncentráltabb adatkészlettel és kisebb gyűjteményi hatókörrel.
- A pontosabb fókusz
kisebb hatással van más alkalmazásokra és a gépi hardverre a profilkészítés során,a létrehozott és tárolt nyomkövetési fájlok teljes méretét csökkenti, valamint nagyobb feldolgozási sebességet az információk áttekintéséhez a gyűjtemény befejezése után. - Egy nyomkövetéskezdése és befejezése
kevesebb időbe telik, valamint gyorsabban áttekinthető és módosítható, mivel a Visual Studio Performance Profiler csak az alkalmazást vizsgálja, nem pedig az egész rendszert. - Az adatgyűjtés és az abból eredő elemzések mind a Visual Studiokörnyezetében történnek, az elemzési oldalak pedig automatikusan elindulnak az adatgyűjtés befejezésekor
. A jelentésnézet automatikusan a gyakori pontokat vagy a műveleti területeket is a figyelem középpontjába helyezi.
A Windows Performance Toolkit által kínált előnyök közül néhány:
- Windows teljesítmény- és diagnosztikák csapatai bőséges dokumentációt és blogokat nyújtanak az első lépésekhez.
- jobb, ha nagyon nagy fájlokatgyűjteni, különösen olyan rendszerekből, amelyek háttérfeladatokkal vannak elfoglalva. Ez egy mindenre alkalmas eszköz az információk gyűjtéséhez, amelyeket később szűrni fog a Windows Teljesítményelemző felület.
- Speciális teljesítményelemzési forgatókönyvekhez testre szabható képesség, bővíthetőségi pontok használatával. (Lásd alább)
A PerfView által kínált előnyök közül néhány:
- Átfogó beépített dokumentáció és online elérhető útmutatóvideók az alkalmazáson belülről csatolva.
- Egyszerűen üzembe helyezni éles környezetekben a PerfView.exemásolásával.
- A nehezen reprodukálható problémák rögzítésére szolgáló repülési adatrögzítő mód.
- Nagyon részletes diagnosztikák a .NET-futtatókörnyezeti szolgáltatásokhoz.
- Bővíthető egyéni nézetekhez.
A munka szempontjainak hatóköre
Az egyetlen alkalmazás és különösen egy egyetlen folyamatkörüli elemzésekhez az összes eszköz nagyon alkalmas a teljesítmény gyűjtésére és megértésére. Az előny azonban a Visual Studio Performance Profiler mellett áll, különösen akkor, ha az alkalmazás forrása és a projektrendszer már elérhető. A Visual Studio Performance Profiler motor úgy lett kialakítva, hogy a processzor-, GPU- és memóriaadatokat bináris adatokból gyűjtse össze az F5 hibakeresési funkcióhoz hasonlóan leegyszerűsített módon. Bár csak az egy adott alkalmazásra összpontosít, ez a gyűjtési mechanizmus gyorsabb visszacsatolást és fejlesztési folyamatot kínál.
Válassza a PerfView lehetőséget, ha a Visual Studio nem rendelkezik a szükséges képességekkel, nem futtatható a gyűjtési követelmények miatt (gyakori a valós környezetben), vagy részletesebb .NET diagnosztikai képességekre van szükség.
A nagyobb összetettségű esetén, amelyek több folyamatközi kérést, hardvereszközöket és azok illesztőprogramjait, vagy Windows-platformtechnológiákrészletes bemutatása esetén a Windows teljesítményeszközkészlete az optimális választás.
Hardveres szempontok
A Visual Studio Performance Profiler, a Windows Performance Toolkit és a PerfView képes diagnosztizálni a processzort és a memóriát a főbb hardverösszetevők esetében, a Visual Studio Performance Profiler és a Windows Performance Toolkit pedig támogatja a GPU-t. Az eszközök általában jól illeszkednek ezeknek a területeknek a bevezető elemzéséhez.
CPU-kihasználás mindhárom eszközzel elemezhető, és általában mintavételezéssel rögzíthető. A mintavételezés rendszeres időközönként gyűjti az alkalmazás műveletláncait, és rangsorolja őket megjelenési gyakoriságuk alapján. Mindkét eszköz úgy módosíthatja ezt a viselkedést, hogy a pontos elszámoláshoz instrumentációt használjon.
GPU-használati elemezhető a Visual Studio Teljesítményprofilozója és a Windows Performance Toolkit is, amely az információk általános áttekintését rögzíti.
A memóriahasználat elemezhető mindhárom eszközzel, amelyek információkat gyűjtenek a verem területről és a veremben lévő foglalásokhoz kapcsolódó halmokról.
Ha összetettebb forgatókönyvek merülnek fel, például a hálózatkezelés, a lemez, az eszközök, a fogópontok vagy a rendszer általános energiafogyasztásának elemzésekor a Windows teljesítményeszközkészlete jobban képes kezelni az elemzést. Ezeket az adatokat érdemes közvetlenül az operációs rendszerből gyűjteni, mivel a kéréseket a különböző hardverösszetevőknek küldi el. A Windows Performance Toolkit az operációs rendszerrel együtt fejlesztették ki, így készen áll és képes összegyűjteni ezt a rendszerközpontúbb információkategóriát.
A kódnyelv támogatási szempontjai
A Windows Performance Toolkit elsősorban a C és a C++ támogatására összpontosít, mivel ezeket a nyelveket a Windows operációs rendszer kódbázisában használják.
A Visual Studio Performance Profiler támogatása a programozási nyelvek szélesebb körére összpontosít, kezdve a .NET-alapú technológiákkal, mint a C# és a ASP.NET, majd kifelé bővül.
A PerfView támogatja a .NET- és natív (C és C++) alkalmazásokat. Mély ismeretekkel rendelkezik a .NET-futtatókörnyezetekről és a webes számítási feladatok ASP.NET képességeiről.
Ez nem azt mondja, hogy a Visual Studio nem tudja elemezni a C vagy C++ kódot, vagy hogy a Windows Teljesítményelemző nem tudja elemezni a .NET-alkalmazásokat, vagy hogy a PerfView nem tudja elemezni a webalkalmazásokat. A legjobb, ha az elemzett alkalmazásnak leginkább megfelelő eszközzel kezdünk, hogy kihasználjuk az egyes eszközök erősségeit.
Forgatókönyvekkel kapcsolatos megfontolások
Az összes eszköz számos forgatókönyv-alapú lehetőséget tartalmaz az alkalmazás teljesítményének tanulmányozására.
A Visual Studio Performance Profiler beállításai általában a .NET-re, a felhasználói felületre (UI) és az elemezni kívánt alkalmazáson belül található adatbázisokra összpontosítanak.
A Windows Performance Toolkit általában az operációs rendszer összetevőire és keretrendszereire összpontosít, például kompozícióra, böngészőnézetekre és zavarokra a valós idejű feldolgozási folyamatokban.
A testre szabottabb megoldást igénylő forgatókönyvek esetében a Windows Teljesítményrögzítő egyetlen rögzítési munkamenetben kombinálhatja a rendszerszintű gyűjtési és az alkalmazáshoz kapcsolódó adatgyűjtési adatokat. Ez a funkció lehetővé teszi, hogy az alkalmazásfejlesztő teljes körű megoldást kínáljon az ügyfelek számára a termék fejlesztéséhez használttól eltérő hardver teljesítményadatainak lekérésére. Erről a mechanizmusról a Windows teljesítmény- és diagnosztikai csapatának
A PerfView a .NET-alkalmazások és futtatókörnyezetek mélyreható vizsgálatára szolgál, de képes többfolyamatos és operációsrendszer-szintű vizsgálatokra is.
Összefoglalás
A Visual Studio Performance Profiler, a Windows Performance Toolkit és a PerfView a Microsoft három robusztus eszköze, amelyek segítségével megismerheti az alkalmazás teljesítményét. Az igényeinek leginkább megfelelő eszköz kiválasztása számos szempontot igényel az adott helyzettel kapcsolatban. Reméljük, hogy ez az útmutató megadja azokat az információkat, amelyek szükségesek ahhoz, hogy bölcs teljesítményelemzési döntéseket hozzon, de üdvözöljük, hogy küldjön visszajelzést ezen az oldalon alább, vagy a Kifejezetten a Windows fejlesztési teljesítményével kapcsolatos problémák esetén, kérjük, küldjön egy problémát a Windows Dev Performance adattár.
Windows developer