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, aPrivate Bytesés aThread Countheartbeat 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 aclose/dispose/unregistermű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.