Monitoring + terhelési tesztelés = előrejelzés és nincs hiba

A VTB informatikai osztályának többször kellett megküzdenie a rendszerek üzemeltetése során felmerülő vészhelyzetekkel, amikor a rájuk nehezedő terhelés sokszorosára nőtt. Ezért szükség volt egy olyan modell kifejlesztésére és tesztelésére, amely előre jelezné a kritikus rendszerek csúcsterhelését. Ennek érdekében a bank informatikusai monitorozást állítottak fel, elemezték az adatokat és megtanulták az előrejelzések automatizálását. Egy rövid cikkben eláruljuk, mely eszközök segítettek előre jelezni a terhelést, és segítettek-e optimalizálni a munkát.

Monitoring + terhelési tesztelés = előrejelzés és nincs hiba

A nagy terhelésű szolgáltatásokkal kapcsolatos problémák szinte minden iparágban felmerülnek, de a pénzügyi szektor számára kritikusak. X órában minden harci egységnek készen kell állnia, ezért előre kellett tudni, hogy mi történhet, és még azt is meg kellett határozni, hogy melyik nap mikor ugrik meg a terhelés, és mely rendszerek találkoznak vele. A kudarcokat kezelni és megelőzni kell, így a prediktív elemző rendszer bevezetésének szükségessége még szóba sem került. Szükség volt a monitoring adatokon alapuló rendszerek korszerűsítésére.

Analitika térden állva

A bérszámfejtési projekt az egyik legérzékenyebb kudarc esetén. Ez a legérthetőbb az előrejelzéshez, ezért úgy döntöttünk, hogy ezzel kezdjük. A magas kapcsolat miatt más alrendszerek, beleértve a távoli banki szolgáltatásokat (RBS), problémákat tapasztalhatnak csúcsterhelés idején. Például azok az ügyfelek, akik örültek a pénz átvételéről szóló SMS-nek, aktívan használni kezdték. A terhelés több mint egy nagyságrenddel megugorhat. 

Az első előrejelzési modellt manuálisan hozták létre. Az elmúlt év feltöltéseit vettük, és kiszámoltuk, hogy mely napokon várható a maximális csúcs: például 1-én, 15-én és 25-én, valamint a hónap utolsó napjain. Ez a modell jelentős munkaerőköltséget igényelt, és nem adott pontos előrejelzést. Mindazonáltal azonosította azokat a szűk keresztmetszeteket, ahol szükség volt hardver hozzáadására, és lehetővé tette a pénzátutalási folyamat optimalizálását a horgonyügyfelekkel való megegyezéssel: annak érdekében, hogy a fizetéseket ne egy csapásra adják ki, a különböző régiókból érkező tranzakciókat időben elosztották. Most olyan részekben dolgozzuk fel őket, amelyeket a bank informatikai infrastruktúrája hiba nélkül „rágott”.

Az első pozitív eredmény után áttértünk az előrejelzés automatizálására, tucatnyi kritikus terület várt a sorára.

Integrált megközelítés

A VTB a MicroFocus felügyeleti rendszerét implementálta. Innen vettünk adatgyűjtést előrejelzéshez, tárolórendszert és jelentési rendszert. Valójában a monitorozás már megvolt, már csak a mérőszámok, az előrejelzési modul hozzáadása és az új jelentések létrehozása volt hátra. Ezt a döntést a külső kivitelező, a Technoserv támogatja, így a projekt megvalósításának fő munkája az ő szakembereire hárult, de mi magunk építettük meg a modellt. Az előrejelző rendszer a Prophet, a Facebook által fejlesztett nyílt forráskódú termék alapján készült. Könnyen használható, és könnyen integrálható a telepített integrált felügyeleti eszközeinkkel és a Vertica-val. Nagyjából a rendszer elemzi a terhelési grafikont és extrapolálja azt a Fourier-sorok alapján. Lehetőség van arra is, hogy bizonyos együtthatókat adjunk hozzá a modellünkből. A mérőszámok felvétele emberi beavatkozás nélkül történik, az előrejelzést hetente egyszer automatikusan újraszámolja, és új jelentéseket küld a címzetteknek. 

Ez a megközelítés azonosítja a főbb ciklikusságokat, például éves, havi, negyedéves és heti. Bérek és előlegek kifizetése, szabadságok, szabadságok és eladások - mindez befolyásolja a rendszerekhez intézett hívások számát. Kiderült például, hogy egyes ciklusok átfedik egymást, és a rendszerek fő terhelése (75%) a központi szövetségi körzetből származik. A jogi személyek és a magánszemélyek eltérően viselkednek. Ha a „fizikusok” terhelése viszonylag egyenletesen oszlik el a hét napjai között (ez sok apró tranzakció), akkor a cégeknél 99,9%-ot a munkaidőre fordítanak, és a tranzakciók rövidek, vagy többen is feldolgozhatók. percek vagy akár órák.

Monitoring + terhelési tesztelés = előrejelzés és nincs hiba

A kapott adatok alapján meghatározzák a hosszú távú trendeket. Az új rendszerből kiderült, hogy az emberek tömegesen költöznek a távoli banki szolgáltatások felé. Ezt mindenki tudja, de ekkora léptékre nem számítottunk, és eleinte nem is hittünk benne: rendkívül gyorsan csökken a banki irodákba érkező hívások száma, és pontosan ugyanennyivel nő a távoli tranzakciók száma. Ennek megfelelően a rendszerek terhelése is növekszik és tovább fog növekedni. Jelenleg 2020 februárjáig prognosztizáljuk a terhelést. A normál napok 3%-os, a csúcsnapok pedig 10%-os hibával jósolhatók meg. Ez jó eredmény.

Buktatók

Szokás szerint ez sem ment nehézségek nélkül. A Fourier-sort használó extrapolációs mechanizmus nem lépi át jól a nullát – tudjuk, hogy a jogi személyek hétvégenként kevés tranzakciót generálnak, de az előrejelzési modul olyan értékeket produkál, amelyek messze vannak a nullától. Erőszakkal lehetett korrigálni őket, de a mankó nem a mi módszerünk. Emellett meg kellett oldanunk az adatok fájdalommentes visszakeresését a forrásrendszerekből. A rendszeres információgyűjtés komoly számítási erőforrásokat igényel, ezért replikáció segítségével gyors gyorsítótárakat építettünk, és replikákból fogadjuk az üzleti adatokat. Ilyen esetekben a master rendszerek további terhelésének hiánya blokkolási követelmény.

Új kihívások

A csúcsok előrejelzésének egyszerű feladata megoldódott: idén május óta nem volt túlterhelésből eredő meghibásodás a bankban, ebben fontos szerepe volt az új előrejelző rendszernek. Igen, kiderült, hogy nem elég, és most a bank szeretné megérteni, mennyire veszélyesek számára a csúcsok. Előrejelzésekre van szükségünk a terhelési tesztelés mérőszámai alapján, és a kritikus rendszerek körülbelül 30%-ánál ez már működik, a többinél pedig folyamatban van az előrejelzések megszerzése. A következő szakaszban nem az üzleti tranzakciókban, hanem az informatikai infrastruktúrában fogjuk megjósolni a rendszerek terhelését, azaz egy szinttel lejjebb megyünk. Emellett teljesen automatizálnunk kell a mérőszámok gyűjtését és az ezek alapján előrejelzések készítését, hogy ne foglalkozzunk a letöltésekkel. Nincs ebben semmi különös – csak keresztezzük a megfigyelést és a terheléses tesztelést, összhangban a globális legjobb gyakorlatokkal.

Forrás: will.com

Hozzászólás