Procentul CPU nu vă spune câtă capacitate mai aveți
Procesorul poate fi mai ocupat fără să termine mai multă muncă. Dimensionați serverele după cererile finalizate și latență, folosind și gradul de utilizare.
Un server care arată că folosește jumătate din capacitatea CPU nu poate primi neapărat de două ori mai mult trafic. Gradul de utilizare descrie timpul contabilizat drept ocupat într-un anumit sistem de măsurare. Nu măsoară direct ce proporție din munca utilă mai poate realiza calculatorul. Pentru dimensionare, aveți nevoie și de cereri finalizate, latență acceptabilă și erori.
Privind din noiembrie 2026, articolul publicat de Brendan Long la 2 septembrie 2025 a făcut această diferență deosebit de vizibilă. Experimentele sale comparau utilizarea raportată cu munca terminată pentru mai multe tipuri de sarcini. Sunt rezultate de pe calculatorul autorului, nu măsurători ale unei aplicații AL+ și nici un tabel universal de conversie între procentul CPU și capacitatea rămasă.
Contează la ce raportați procentul
Imaginați-vă un serviciu ipotetic al cărui grafic rămâne mult sub pragul de alertă, deși clienții așteaptă mai mult. Dacă adăugați capacitate numai când graficul trece de un procent rotund, puteți rata problema. Tot astfel, puteți cheltui inutil dacă măriți serverul de fiecare dată când crește utilizarea, deși munca finalizată crește proporțional și latența rămâne acceptabilă. Graficul are nevoie de o întrebare despre funcționarea serviciului înainte să susțină o achiziție.
Stabiliți mai întâi ce numără instrumentul de monitorizare. Media întregului server, procentul unui proces și limitele unui container pot avea baze de raportare diferite. Procentul unui proces care folosește mai multe procesoare logice poate depăși scara obișnuită pentru un singur procesor. O medie poate ascunde și o singură cale de execuție saturată, în timp ce alte procesoare stau nefolosite. Aceste convenții descriu lucruri diferite; niciuna nu spune automat câte comenzi poate primi serviciul.
După cum explica Brendan Gregg în articolul despre contabilizarea CPU din 9 mai 2017, timpul în care o sarcină este programată pentru execuție poate include perioade în care nucleul așteaptă date din memorie. Prezența la execuție nu înseamnă realizarea unei instrucțiuni utile aplicației la fiecare ciclu. Invers, așteptarea unor date externe poate lăsa procesorul liber, deși serviciul este deja limitat în altă parte. De aceea, procentul singur nu identifică nici cauza unei cereri lente, nici volumul de muncă utilă care mai încape.
Resursele comune schimbă curba
În testul lui Long cu operații pe matrice, munca utilă a ajuns la plafon aproximativ când erau ocupate jumătate din procesoarele logice. Autorul explică rezultatul prin execuția simultană a mai multor fire: procesoarele logice înrudite împart resurse fizice de execuție. Sarcinile sale generale de procesare s-au comportat diferit. Articolul discută și schimbarea frecvenței când devin active mai multe nuclee. Aceste condiții trebuie să însoțească rezultatul, nu să apară sub o promisiune că orice calculator se saturează la același procent.
Pentru dimensionare contează forma curbei. Mai multe sarcini programate pot adăuga debit util, pot adăuga tot mai puțin sau pot crea concurență pentru aceleași resurse. Rezultatul depinde de resursele necesare muncii respective. Un procesor logic oferă o posibilitate de programare, nu un duplicat independent al tuturor resurselor fizice din spatele său. Dacă transformați numărul lor într-o prognoză comercială liniară, presupuneți implicit că această diferență nu contează.
Frecvența adaugă încă o variabilă. O activitate scurtă pe câteva nuclee nu se desfășoară neapărat la frecvența unei activități susținute pe întregul procesor. Limitele de putere și temperatură pot modifica munca realizată într-o unitate de timp ocupat. Un procent stabil pe alt calculator sau după schimbarea sarcinilor oferă, așadar, dovezi mai slabe decât pare. Niciun coeficient fix nu corectează toate aceste relații.
Exprimați capacitatea în rezultate pentru client
O afirmație utilă despre capacitate precizează munca și condițiile: un amestec definit de cereri, o țintă de latență, un nivel acceptabil al erorilor și o durată suficientă pentru a scoate la iveală limitele relevante. Este o propunere de măsurare, nu un test efectuat aici. Criteriile ar trebui să reflecte operația costisitoare pe care o realizează clienții, inclusiv dependențele externe care limitează finalizarea.
Separați cererile primite de munca terminată. Dacă acestea se adună într-o coadă, ritmul sosirii poate crește în timp ce ritmul finalizării rămâne constant. Dacă numiți asta creștere a cererii deservite, ascundeți restanțele. Contează și latențele mari: o medie acceptabilă poate coexista cu un grup de clienți care așteaptă mult. Includeți expirările timpului de așteptare și cererile respinse, în loc să le tratați ca observații inexistente.
Comparați condiții similare înainte să deduceți o tendință. Notați versiunea aplicației, resursele hardware alocate, amestecul de operații și limitele relevante. Dimensiunea datelor sau ponderea operațiilor costisitoare poate schimba debitul chiar dacă numărul de cereri pare stabil. Capacitatea descrisă depinde de aceste date; nu este o proprietate permanentă a modelului de server.
Păstrați semnalul ușor de obținut
Cel mai puternic argument pentru dimensionarea după CPU este unul practic. Utilizarea se colectează ieftin, este disponibilă pe scară largă și adesea se corelează bine cu traficul când sarcinile și echipamentul rămân aceleași. O echipă cu un istoric cunoscut poate folosi relația pentru a începe investigația sau pentru a adăuga resurse înaintea unui vârf familiar. Renunțarea la procent ar elimina dovezi utile.
Limita apare la extrapolare. O corelație în intervalul observat nu stabilește o relație liniară dincolo de el, mai ales când se schimbă folosirea resurselor comune sau frecvența. Folosiți utilizarea ca indicator timpuriu și context pentru diagnostic. Legați decizia de finalizare și latență înainte să afirmați că serviciul poate primi un anumit volum suplimentar.
În dezvoltarea de software la comandă, asta înseamnă să stabiliți întrebarea despre capacitate încă din proiectare. Decideți ce muncă trebuie terminată la timp și cine revede dovezile când se schimbă sarcinile. O alertă CPU poate chema pe cineva să verifice. O afirmație justificată despre capacitate explică ce poate livra serviciul și în ce condiții rămâne valabilă.
Paul