Server spomaľuje. Ktoré čísla vám povedia prečo?
CPU je iba časť obrazu. Ako spojiť odozvu, chyby, pamäť, disk a fronty pri hľadaní úzkeho miesta.

Web sa načítava pomaly a prvý pohľad smeruje na CPU. Graf však ukazuje prijateľné využitie. Server môže čakať na disk, databázu, voľné pripojenie alebo vzdialené API. Pri diagnostike sa oplatí začať prejavom, ktorý vidí používateľ, a až potom hľadať zdroj obmedzenia. Jedno číslo nevysvetlí celú službu.
Začnite odozvou, chybami a prevádzkou
Porovnajte pomalé obdobie s bežným stavom. Narástol počet požiadaviek, zmenil sa typ operácií alebo pribudli chyby? Oddeľte čas strávený v aplikácii od čakania na závislosti. Priemer odozvy doplňte percentilmi z interného merania; malá skupina veľmi pomalých požiadaviek sa v priemere ľahko stratí.
Externá kontrola ukáže, že sa odozva zhoršila. Interné metriky a logy pomôžu vysvetliť kde. Pri oboch používajte jednotný čas, aby sa dali porovnať s nasadeniami a úlohami na pozadí.
CPU a pamäť čítajte v kontexte
Vysoké CPU pri dávkovej práci môže byť očakávané. Nízke CPU počas pomalého webu môže znamenať čakanie na iný zdroj. Pri pamäti odlíšte užitočnú cache od nedostatku, ktorý vedie k swapovaniu alebo ukončovaniu procesov. Sledujte aj limity kontajnera, nielen celkovú kapacitu stroja.
Disk a fronty často odhalia skryté čakanie
Kontrolujte voľné miesto, dostupné inody a latenciu úložiska. Plný disk môže zablokovať logy aj databázové zápisy. Samotný objem prenesených dát nevysvetľuje, ako dlho operácie čakajú. Pri databáze pridajte pomalé dotazy, zámky a počet využitých pripojení.
Rastúca fronta býva skorým signálom, že služba prijíma prácu rýchlejšie, než ju zvláda. Sledujte nielen počet úloh, ale aj vek najstaršej. Krátka fronta s veľmi starou úlohou môže odhaliť zaseknutý proces alebo chybu v spracovaní.
Kapacitu pridávajte po overení úzkeho miesta
Viac aplikačných inštancií nemusí pomôcť, ak všetky čakajú na tú istú databázu. Môžu dokonca zvýšiť počet pripojení a situáciu zhoršiť. Najprv identifikujte obmedzenie, navrhnite malý zásah a porovnajte stav pred ním a po ňom. Aj dočasná oprava má mať merateľný výsledok.
- Odozva, chybovosť a počet požiadaviek.
- CPU, pamäť a limity procesov alebo kontajnerov.
- Voľný disk, inody a latencia úložiska.
- Databázové zámky, pripojenia a vek úloh vo fronte.
Čo si odniesť
Zbierajte malú sadu údajov, ktoré dokážete spojiť s dopadom na používateľa. Dobrý prehľad nie je ten s najväčším počtom grafov, ale ten, ktorý vás nasmeruje k správnemu zásahu.


