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 Bytes a Thread Count.
  • Logy hraníc začiatku relácie, opätovného pripojenia a ukončenia.
  • Logy životného cyklu v pároch create/open/register a close/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.

Späť na domovskú stránku