Când un computer sau o aplicație începe să se blocheze, de obicei, de vină este procesorul, Berbec sau chiar la rețea, dar fără date fiabile este foarte ușor să greșești în diagnosticare. Windows Performance Recorder (WPR) și Windows Performance Analyzer (WPA) vă permit să capturați și să vizualizați în detaliu ce se întâmplă în sistem exact în timpul acelor vârfuri de sarcină sau scăderi de performanță.
Departe de a fi instrumente doar pentru experți, WPR și WPA se pot integra perfect în viața de zi cu zi a dezvoltatorilor, administratorilor și utilizatorilor avansați deopotrivă. În combinație cu alte utilitare precum Visual Studio, Application Insights, PerfViewscripturi precum PerfCollect sau chiar Managerul de activități în sineAceasta oferă un arsenal foarte puternic pentru localizarea blocajelor legate de CPU, memorie, disc, GPU, rețea sau dependențe externe.
Ce este Windows Performance Recorder și cum se încadrează în ecosistemul de diagnosticare?
Înregistratorul de performanță Windows face parte din kitul de instrumente pentru performanță Windows (WPT)WPT, un set de instrumente Microsoft concepute pentru captarea și analizarea performanței la nivel de sistem de operare. WPT include două componente principale:
- WPR. Este responsabil pentru înregistrarea datelor despre eveniment.
- WPA. Interfața grafică unde este apoi deschisă și studiată acea urmă.
WPR se bazează pe infrastructura Urmărirea evenimentelor pentru Windows (ETW), sistemul de înregistrare la nivel de kernel integrat în Windows. Fiecare sesiune de înregistrare este salvată într-un fișier cu extensia . .etl (Jurnal de urmărire a evenimentelor), care este cea pe care o vom deschide mai târziu cu WPA pentru a studia comportamentul sistemului și al aplicațiilor cu o granularitate enormă.
Pentru a controla ce este înregistrat, WPR utilizează fișiere de profil cu extensia . .wprp. Aceste profiluri definesc setul de furnizori și evenimente, frecvența de eșantionare, nivelul de detaliu etc. Datorită acestor profiluri, captura poate fi adaptată la scenarii specifice.
La rândul său, Analizor de performanță Windows Este instrumentul grafic care vă permite să deschideți fișiere .etl. și explorați informații precum grafice temporale, tabele ierarhice, cronologii corelate și vizualizări specifice pentru CPU, memorie, I/O, rețea și multe alte subsisteme. WPA este foarte flexibil. Vă permite să sortați datele după diverse câmpuri, să le măriți și să le micșorați în timp și să le grupați după fire de execuție, procese, module, stive de apeluri și multe altele.

Concepte cheie și terminologie înainte de înregistrarea pieselor
Înainte de a începe să înregistrați piese, este o idee bună să stăpâniți o serie de termeni de bază pe care îi veți vedea constant în documentație și în instrumentele în sine. Cunoașterea acestui jargon vă permite să interpretați mai bine rezultatele și să nu vă pierdeți printre acronime..
Primul termen cheie este ETW (Urmărirea evenimentelor pentru Windows). Acesta este mecanismul de urmărire a evenimentelor la nivel de kernel încorporat în Windows. Datorită ETW, atât kernelul sistemului, cât și multe aplicații și componente pot emite evenimente eficient și cu un impact minim.
Când aceste evenimente sunt scrise pe disc, ele sunt stocate într-un fișier jurnal de urmărire a evenimentelor cu extensia .etlDe fiecare dată când efectuați o urmărire cu WPR, rezultatul tipic este un fișier de acest tip, pe care îl putem analiza apoi cu WPA sau alte instrumente compatibile, cum ar fi PerfView.
Aplicația în sine care pornește și oprește înregistrarea se numește WPR (Înregistrator de performanță Windows)Acest înregistrator acceptă unul sau mai multe profiluri .wprp ca intrare, care specifică ce evenimente vor fi înregistrate și cu ce configurație. Este obișnuit să se selecteze profiluri predefinite pentru CPU, I/O, grafică sau utilizarea generală a sistemului.
În cele din urmă, WPA (Analizorul de performanță Windows) Este interfața grafică care deschide fișierele .etl și vă permite să navigați, să sortați, să filtrați și să corelați datele. Din WPA, puteți afla mai detaliat care thread-uri saturează procesorul, care procese generează cele mai multe I/O pe disc, care dependențe externe cauzează latență sau cum este alocat timpul între diferite operațiuni dintr-o aplicație.
Utilizarea WPR și WPA pentru detectarea blocajelor CPU și ale sistemului
În medii industriale, medii backend sau pur și simplu pe stații de lucru solicitante, Vârfuri CPU („vârfurile”) sunt unul dintre cele mai frecvente simptome de performanțăWPR și WPA sunt utile în special pentru a surprinde ce se întâmplă în timpul acelor vârfuri și pentru a înțelege ce le cauzează.
Fluxul de lucru tipic implică utilizarea WPR pentru a începe captura chiar înainte de apariția problemeiAcest proces ar trebui inițiat fie prin interfața grafică, fie prin linia de comandă și oprit imediat ce apare vârful de performanță sau anomalia de performanță. În acest fel, fișierul .etl rezultat reflectă cu acuratețe comportamentul sistemului în timpul ferestrei critice.
Apoi, fișierul respectiv este deschis cu WPA, care oferă o interfață vizuală foarte intuitivă pentru inspectarea datelorPuteți vizualiza grafice temporale ale CPU-ului, consumului de memorie, I/O și altor contoare, apoi puteți accesa din vizualizarea globală a sistemului procese specifice, fire de execuție specifice și chiar stive de apeluri care explică ce cod rula la un moment dat.
Analizând cu calm aceste tipare, este posibil identificați blocajele reale. De exemplu, un fir de execuție care monopolizează procesorul, o anumită rutină care rulează prea frecvent sau o secțiune critică prost proiectată. În domenii precum asistența pentru motoare industriale sau software-ul de control, acest tip de analiză detaliată este esențială pentru menținerea competitivității și prevenirea întreruperilor producției.

Diagnosticarea aplicațiilor .NET și ASP.NET Core: Visual Studio, Application Insights și PerfView
În ecosistemul .NET, pe lângă WPR și WPA, există instrumente specifice care se potrivesc foarte bine atunci când obiectivul este Diagnosticarea problemelor de performanță în aplicațiile ASP.NET Core sau în serviciile backend .NETMulte dintre ele sunt completate de monitorizare la nivel de sistem.
Las instrumente de profilare integrate în Visual Studio Sunt un prim pas foarte convenabil. Din mediul de dezvoltare, puteți analiza utilizarea procesorului, alocarea memoriei, comportamentul colectorului de gunoi și anumite evenimente de performanță din cadrul aplicației. Fiind integrate, acestea facilitează foarte mult munca în timpul fazelor de dezvoltare și testare.
Când scenariul se schimbă către medii de producție sau distribuite, intră în joc următoarele aspecte Azure Insights aplicațiiAcest serviciu de telemetrie colectează automat diverse date, atât în ASP.NET Core, cât și în alte stive.
Unul dintre cele mai interesante elemente ale sale este harta aplicațieiAceasta este o vizualizare care afișează toate componentele unei arhitecturi distribuite și vă permite să identificați rapid zonele problematice sau blocajele de performanță între servicii. Pe lângă aceasta... Explorator de metrici Azureceea ce facilitează reprezentarea grafică a indicatorilor, corelarea tendințelor și aprofundarea vârfurilor sau scăderilor de valori.
Fișa de performanță Application Insights oferă o vizualizare în funcție de operațiune: Arată timpul fiecărei acțiuni din aplicație, permițându-vă să aprofundați o anumită operațiune. și vedeți toate dependențele care contribuie la faptul că durează prea mult și chiar din aceeași perspectivă puteți invoca Profiler de informații despre aplicații pentru a captura o urmărire detaliată a performanței la cerere.
PerfView și PerfCollect: Analiză aprofundată în scenarii .NET și Linux
Când trebuie să profitați la maximum de diagnosticarea în aplicațiile .NET, este recomandabil să utilizați PerfViewPerfView, un instrument creat de echipa .NET special pentru analiza performanței, este capabil să studieze utilizarea CPU, memoria, comportamentul collectorului de gunoi (GC), evenimentele ETW și temporizarea ceasului cu un nivel foarte fin de detaliu.
Un aspect deosebit de puternic al PerfView este capacitatea de a deschide și analiza fișiere .etl generate cu WPRAcest lucru vă permite să studiați stivele de apeluri și costul fiecărei funcții. Microsoft menține un ghid de utilizare foarte cuprinzător, disponibil din instrumentul în sine și pe GitHub, care explică cazurile de utilizare, comenzile și fluxurile de lucru recomandate.
Principalul dezavantaj este că PerfView rulează doar pe Windows, deci nu poate fi lansat direct pe servere Linux care rulează aplicații ASP.NET Core. Pentru a depăși această limitare, comunitatea și echipa .NET oferă PerfCollect, un script Bash care folosește instrumente native Linux cum ar fi perf și LTTng pentru a captura o urmărire compatibilă.
Fluxul de lucru în acest caz implică rularea PerfCollect în mediul Linux unde apare problema de performanță. colectați urma și transferați fișierul rezultat pe un computer cu Windows.De acolo, se deschide cu PerfView pentru a efectua o analiză aprofundată a stivelor de apeluri, a utilizării CPU și a comportamentului GC.
Informații detaliate despre cum se instalează PerfCollect, cum se pornesc și se opresc sesiunile de urmărire și cum se interpretează rezultatele combinându-l cu PerfView și alte instrumente de diagnosticare pot fi găsite pe GitHub.
Analiza blocajelor în HoloLens și dispozitive prin WPA
Monitorizarea performanței nu se limitează la servere și PC-uri desktop; este utilă în special în dispozitive precum HoloLensunde marjele termice și de resurse sunt mai strânse. Identificarea proceselor care declanșează creșteri bruște de temperatură sau a firelor de execuție care saturează procesorul este crucială pentru menținerea unei experiențe fluide de realitate mixtă.
În aceste scenarii, se utilizează și infrastructura ETW. HoloLens poate genera urme folosind Windows Performance RecorderAcestea sunt salvate ca fișiere .etl, care sunt apoi deschise cu WPA de pe un PC de test. Acest lucru permite vizualizarea blocajelor hardware sau software, cum ar fi supraîncălzirea sau procesele deosebit de solicitante.
Pentru a utiliza WPA, descărcați pur și simplu aplicația de pe Microsoft Store sau instalați Windows Performance Toolkit prin intermediul kitului de evaluare și implementare Windows (ADK). Kitul include și alte instrumente generale de depanare și diagnosticare pentru platformă.
Captura HoloLens se face prin intermediul Portal dispozitivDin meniul lateral, accesați secțiunea „Monitorizare performanță”, alegeți un profil predefinit sau încărcați unul personalizat, faceți clic pe „Start Monitoring” (Începe monitorizare), iar scenariul problematic va fi reprodus. După ce datele necesare au fost capturate, opriți monitorizarea, iar portalul va afișa urmărirea în partea de jos a paginii.
Acest fișier ETL poate fi descărcat direct, deschis în WPA pe mașina de analiză sau partajat cu altcineva pentru a efectua analiza în mediul său. Odată ajuns în WPA, este posibil să se aplice profiluri de analiză specifice și să se concentreze pe CPU, memorie, GPU sau orice alt subsistem relevant pentru experiența realității mixte.
Pregătirea fișierelor și profilurilor pentru analiză cu Windows Performance Analyzer
Pentru ca analiza WPA să fie cu adevărat eficientă, este recomandabil să organizați resursele necesare în jurul fișierului .etl. Se recomandă crearea unui folder care să conțină urmărirea, simbolurile și profilurile WPA. care va fi utilizat, astfel încât unealta să aibă acces facil la toate elementele.
Un exemplu tipic de structură funcțională ar fi ca fișierul să fie în același folder. Fișierul de urmărire HoloLens_trace_file.etl, un profil WPA precum CPU_analysis.wpaProfile și un subfolder „Simboluri” cu toate fișierele .pdb necesare deja decomprimate. WPA poate apoi rezolva stivele de apeluri cu nume de funcții lizibile de om, ceea ce este esențial pentru identificarea cu precizie a părții din cod care generează încărcarea.
Fluxul de lucru de bază pentru analiza în WPA este de obicei: Porniți programul, deschideți fișierul .etl din meniul „Fișier > Deschidere” și lăsați-l să încarce datele inițiale. Apoi încărcați simbolurile din meniul de urmărire („Track > Load Symbols” sau similar, în funcție de versiune), indicând folderul în care se află fișierele .pdb.
Odată ce WPA are simboluri, poate Aplicați un profil de analiză specific din meniul de profiluriprin selectarea fișierului .wpaProfile corespunzător. Acest pas generează automat o serie de grafice și tabele care sunt afișate în fila de analiză, concentrându-se pe cele mai relevante aspecte pentru tipul respectiv de monitorizare (de exemplu, CPU, planificator, I/O pe disc etc.).
De acolo, munca implică explorarea acestor vizualizări, extinderea nodurilor, filtrarea după procese sau fire de execuție și corelarea a ceea ce se vede în grafice cu comportamentul observat pe dispozitiv. Instrumentul în sine include o filă introductivă foarte utilă și există o documentație și materiale de instruire din abundență disponibile pentru explorări ulterioare, inclusiv videoclipuri introductive și ghiduri pas cu pas.
Calculatoare de top pentru blocaje pentru Windows
Printre cele mai populare opțiuni se numără unele instrumente care, cu abordări diferite, Ei încearcă să cuantifice neconcordanța dintre principalele componente ale sistemului.Nu sunt perfecte, dar sunt orientative dacă știi să le citești rezultatele.
Una dintre cele mai cunoscute este Calculator de blocaje pentru configurațiile de PC-uriInterfața sa este simplă: alegi un procesor, o placă grafică, rezoluția țintă și tipul de utilizare (de exemplu, jocuri), iar instrumentul calculează dacă combinația va crea sau nu un blocaj semnificativ.
Punctul forte al acestui calculator este că Îți permite să combini foarte ușor hardware de la diferiți producători. Oferă un răspuns rapid și clar dacă procesorul va bloca placa video (GPU) sau invers. Principalul său dezavantaj este că nu ia în considerare dimensiunea și viteza memoriei RAM, factori care influențează semnificativ și performanța reală a sistemului.
Pentru o analiză puțin mai detaliată, puteți consulta calculator de blocaje Agent CPUSpre deosebire de precedentul, acest utilitar ia în considerare cantitatea de memorie, viteza acesteia, precum și procesorul, GPU-ul, rezoluția și calitatea grafică pe care intenționezi să le utilizezi.
Un alt avantaj al acestui instrument este că Oferă informații extinse despre fiecare componentă. De exemplu: dacă procesorul include răcire încorporată, cât de bine performează la diferite rezoluții, ce procente de utilizare sunt așteptate etc. Toate acestea ajută la o mai bună înțelegere a imaginii de ansamblu și la luarea unei decizii informate.
În ambele cazuri, acestea sunt servicii gratuite, foarte ușor de utilizat: selectați componentele dorite, rulați calculul și obțineți rezultatele în câteva secunde. Cu toate acestea, este recomandabil să vă acordați timp pentru a interpreta rezultatele și să nu vă bazați doar pe un procent general.
Cum să folosești calculatoare și forumuri pentru a alege hardware-ul potrivit
Calculatoarele de blocaje, în sine, nu ar trebui să fie singura sursă de luare a deciziilor. Cu toate acestea, ele reprezintă un prim filtru foarte util. În mod ideal, acestea ar trebui folosite pentru a restrânge câteva combinații rezonabile de CPU, GPU și RAM.și de acolo să investigheze mai departe.
Un complement bun este să mergi la forumuri ale producătorilor de hardware sau comunități specializate Pentru a găsi alți utilizatori care folosesc aceeași combinație de componente pe care o ai în vedere, vei găsi adesea subiecte cu experiențe din lumea reală, teste comparative și orice probleme pe care le-au întâmpinat.
De asemenea, merită să puneți întrebări directe: Verificați dacă cineva a întâmpinat blocaje cu un anumit procesor și placă grafică atunci când rulează același software. pe care intenționați să le utilizați. Sau solicitați sugestii de combinații alternative care ar putea funcționa mai bine în cadrul aceluiași buget.
În plus, este foarte util să te bazezi pe pagini de configurare personalizate pentru PCAceste instrumente ne permit să echilibrăm bugetul, performanța și consumul de energie. Combinând informațiile din calculatoare, forumuri și aceste configuratoare, putem ajunge la o achiziție solidă, adaptată nevoilor noastre reale.
Această abordare vă permite nu doar să alegeți componentele potrivite, ci să faceți acest lucru cu o încredere considerabilă, știind că există utilizatori cu experiențe pozitive și că probabilitatea de a întâmpina blocaje serioase va fi mult mai mică.
Cum să verifici dacă există blocaje pe un PC prefabricat folosind instrumentele Windows
Odată ce echipamentul este deja asamblat și în funcțiune, nu este nevoie să apelați imediat la utilități externe pentru a detecta dezechilibrele. Windows include Task Manager, un instrument foarte valoros pentru monitorizarea în timp real a încărcării procesorului, memoriei RAM, discului, GPU-ului și rețelei..
Procedura de bază constă în:
- Deschideți Managerul de activități.
- Închideți toate aplicațiile, cu excepția celei pe care doriți să o analizați.
- Observați cum evoluează diferitele resurse în timp ce rulează sarcina de lucru tipică.
Dacă în timpul utilizării unui anumit program observați că procesorul, memoria, discul sau rețeaua Sunt utilizate constant la 100% din capacitate.Probabil că acea componentă reprezintă limita sistemului. Este un semn destul de clar de blocaj, care ajută la determinarea celei mai bune componente să fie actualizată prima.
Un exemplu clasic este un joc foarte solicitant ale cărui cerințe de procesor depășesc ceea ce oferă procesorul instalat. În astfel de cazuri, Încărcarea procesorului poate fi constantă la 100% în timp ce memoria RAM nu este utilizată la fel de mult.
Prin repetarea acestor teste cu diferite aplicații și sarcini de lucru, puteți construi treptat o imagine destul de realistă a componentei care afectează cel mai mult performanța generală a sistemului. Și, prin urmare, care upgrade ar fi cel mai rentabil.
Întregul ecosistem de monitorizare - de la WPR și WPA la PerfView, Application Insights, calculatoare de blocaje, monitorizare a rețelei sau simple vizualizări Task Manager - vă permite să construiți o imagine destul de precisă a locurilor unde se pierde performanță. Scopul: localizarea și corectarea blocajelor mult mai rapid și mai eficient. Evitarea pariului orbește pe actualizări costisitoare care apoi nu rezolvă problema reală.
