Adăugați bugetul de memorie simultană
Începeți cu procesele care se suprapun, nu cu mediile lor liniștite. O foaie de lucru ilustrativă de 4 GB ar putea rezerva 700 MiB pentru uneltele gazdă, 900 MiB pentru procesele API, 1,200 MiB pentru o bază de date, 500 MiB pentru un lucrător și 700 MiB pentru incertitudine: 4,000 MiB în total. Aceasta consumă aproape în întregime profilul nominal și lasă puțină încredere pentru o suprapunere de versiuni mai mare.
Estimați cererea de CPU din munca măsurată
Măsurați timpul CPU pentru o cerere sau un job reprezentativ, apoi înmulțiți cu rata de finalizare de vârf. De exemplu, 25 ms de timp CPU × 20 cereri pe secundă = 500 ms de CPU în fiecare secundă, sau 0.5 nucleu în medie. Repetați cu un lucrător realist activ și inspectați vârfurile; mediile ascund explozii, planificare și așteptări ale bazei de date.
Separați semnalele de constrângere
| Semnal observat | Următoarea verificare probabilă |
|---|---|
| CPU ridicat cu muncă executabilă | Profilizați calea fierbinte, apoi comparați mai mult CPU. |
| Presiune pe memorie sau terminarea procesului | Reduceți suprapunerea sau adăugați RAM măsurat. |
| CPU scăzut cu cereri lente | Inspectați baza de date, pool-ul și așteptările externe. |
| Vârsta cozii crește pe măsură ce lucrătorii cresc | Scădeți concurența și inspectați dependența partajată. |
Luați decizia privind resursele
Alegeți mai mult CPU doar când profilarea arată contenție susținută de calcul. Alegeți mai mult RAM când setul de lucru simultan nu are rezervă. Scădeți concurența când munca paralelă dăunează latenței API sau ratei utile de finalizare. Înregistrați măsurarea declanșatoare, apoi repetați aceeași încărcare după schimbarea unei variabile.