Prípadová štúdia
Prípadová štúdia: pád po dlhodobej prevádzke vystopovaný až k úniku handleov
Technická prípadová štúdia o páde, ktorý sa objaví až po približne mesiaci prevádzky a ktorý sme usporiadaním miest pozorovania a posilnením logovania zúžili na vyšetrovanie úniku handleov.
Prehľad prípadu
Ide o prípadovú štúdiu aplikácie pre Windows, ktorá náhle spadla až po približne mesiaci nepretržitej prevádzky. Začali sme usporiadaním miest pozorovania a nakoniec sme vyšetrovanie zúžili na únik handleov. Kľúčové nebolo len nájsť samotnú príčinu, ale rozhodnúť, ktoré pozorovania treba pripraviť ako prvé.
Príznaky
- Chyba sa neprejaví v priebehu niekoľkých dní, pád nastane až po dlhodobej prevádzke.
- Podľa podoby výnimky sa len ťažko posúdi, či ide o únik zdrojov.
- Vyskytuje sa len v prevádzke u zákazníka a na vývojovom počítači je potrebné zúžiť podmienky reprodukcie.
Obmedzenia
- Čakať na reprodukciu v rozpätí mesiacov nie je reálne.
- Keďže ide o opätovné pripájanie kamery a chybové cesty, samotné logy bežných scenárov nestačia.
- Bolo potrebné vedieť priebežne sledovať, ktorý zdroj narastá.
Čo sme sledovali
- Heartbeat hodnôt
Handle Count,Private BytesaThread Count. - Logy hraníc začiatku relácie, opätovného pripojenia a ukončenia.
- Logy životného cyklu v pároch
create/open/registeraclose/dispose/unregister.
Ako sme problém izolovali
Najprv sme nesledovali „pád po dlhodobej prevádzke“ priamo, ale zúžili sme reprodukciu na chybové cesty okolo opätovného pripojenia a timeoutov. Výsledkom bolo zistenie, že podozrenie na únik handleov dáva väčší zmysel než podozrenie na únik pamäte, a pozorovanie sme mohli sústrediť práve naň.
Ako sme situáciu zlepšili
- Rozšírili sme sledované položky, aby bolo možné sledovať trend rastu, nie iba okamih pádu.
- Upravili sme hraničné logy tak, aby bolo ľahšie zistiť, ktorá časť kódu zdroj otvorila a ktorá ho zatvorila.
- Výsledky vyšetrovania sme usporiadali tak, aby na ne mohla ľahko nadviazať infraštruktúra na testovanie chybových ciest.
Služby, s ktorými sa tento prípad spája
Tento prípad sa viaže na službu Vyšetrovanie chýb a analýza príčin, ktorá izoluje poruchy objavujúce sa až po dlhodobej prevádzke, aj na službu Vývoj aplikácií pre Windows, v rámci ktorej z hľadiska implementácie upravujeme logovanie, opätovné pripájanie a prevádzkové pozorovanie.
Požiadajte o konzultáciu
Ak je táto stránka blízka situácii, ktorú riešite, poraďte sa s nami a opíšte nám súčasný kontext a druh podpory, ktorú potrebujete.