Esettanulmány

Hosszú üzem utáni összeomlás visszavezetése handle-szivárgásra – esettanulmány

Műszaki esettanulmány egy csak körülbelül egy hónapnyi üzem után jelentkező összeomlásról, amelyet a megfigyelési pontok rendezésével és a naplózás bővítésével handle-szivárgás vizsgálatára szűkítettünk.

Az eset áttekintése

Ez az eset egy olyan Windows-alkalmazásról szól, amely mintegy egy hónapnyi folyamatos üzem után omlott össze hirtelen, de csak akkor. A munkát a megfigyelési pontok rendezésével kezdtük, és végül a handle-szivárgásra összpontosuló vizsgálatra szűkítettük. A lényeg az volt, hogy nemcsak magát az okot határoztuk meg, hanem azt is, hogy melyik megfigyeléseket kell előre kialakítani.

Tünetek

  • Néhány nap alatt nem jelentkezett, csak hosszú idejű üzem után omlott össze
  • A kivételek megjelenéséből nehéz volt megállapítani, hogy szivárgásról van-e szó
  • Csak a helyszínen fordult elő, ezért a fejlesztői gépen le kellett rövidíteni a reprodukálás idejét

Korlátok

  • Egy hónapot várni minden egyes reprodukálásra nem volt reális
  • Mivel a kamera újracsatlakozása és a hibaútvonalak is szerepet játszottak, a normál működés naplói nem voltak elegendők
  • Folyamatosan meg kellett tudni figyelni, melyik erőforrás szaporodik

Mit figyeltünk meg

  • A Handle Count, a Private Bytes és a Thread Count heartbeat jellegű (időszakos) mérése
  • A munkamenet indulását, az újracsatlakozást és a befejezést jelző határnaplók
  • A create/open/register és a close/dispose/unregister műveletek párosított életciklus-naplói

Hogyan határoltuk be

Nem magát a „hosszú idejű üzem utáni összeomlást” kerestük, hanem a reprodukálást először az újracsatlakozás és a timeout körüli hibaútvonalakra szűkítettük. Ennek eredményeként megalapozottabb feltételezésnek bizonyult, hogy handle-szivárgásról van szó, nem memóriaszivárgásról, és a megfigyelést erre tudtuk összpontosítani.

Hogyan javult a helyzet

  • Bővítettük a figyelt mutatók körét, így nemcsak az összeomlás pillanata, hanem a növekedési trend is követhetővé vált
  • Rendeztük a határnaplókat, hogy könnyebb legyen követni, melyik komponens nyitotta meg, melyik zárta le az erőforrást
  • A vizsgálat eredményeit úgy rendeztük, hogy könnyen kapcsolhatók legyenek a későbbi hibaútvonal-tesztelési infrastruktúrához

Mely szolgáltatásokhoz kapcsolódik az eset

Ez az eset egyaránt kapcsolódik a Hibakeresés és kiváltó ok elemzése szolgáltatáshoz, amely a csak hosszú idejű üzem után jelentkező hibákat határolja be, és a Windows-alkalmazások fejlesztése szolgáltatáshoz, amely a naplózást, az újracsatlakozást és az üzemi megfigyelést a megvalósítás oldaláról teszi rendbe.

Beszélje meg velünk

Ha az oldal tartalmához hasonló megoldandó problémája van, kérjük, beszélje meg velünk a jelenlegi állapotot és azt, milyen támogatásra van szüksége.

Vissza a főoldalra