Monitoring + load testing = forecasting and preventing failures

The IT department of VTB has faced emergency situations in system operations several times when the load on them increased significantly. Therefore, a need arose to develop and test a model that would predict peak loads on critical systems. To achieve this, the bank's IT specialists set up monitoring, analyzed data, and learned to automate forecasts. We will discuss which tools helped predict load and whether they were successful in optimizing operations in a brief article.

Monitoring + load testing = forecasting and preventing failures

Problems with high-load services occur across almost all industries, but they are critical for the financial sector. At the decisive moment, all combat units must be ready, which means it was essential to know in advance what might happen and even to determine the day when load would spike and which systems would face it. Failures must be fought against and prevented, so the necessity of implementing a predictive analytics system was never in question. It was essential to modernize systems based on monitoring data.

Knee-jerk analytics

The payroll project is one of the most sensitive in case of failure. It is also the most understandable for forecasting, so they decided to start with it. Due to the high interconnectivity during peak load moments, other subsystems, including remote banking services (RBS), could also experience problems. For instance, clients, delighted by SMS notifications about incoming funds, began to use them actively. During this time, the load could spike by more than an order of magnitude. 

Prvo modela za predikciju smo izradili ručno. Uzeli smo izvoz podataka za poslednju godinu i izračunali u koje dane se očekuju maksimalni vrhovi: na primer, 1., 15. i 25. u mesecu, kao i na kraju meseca. Ovaj model je zahtevao ozbiljne ljudske resurse i nije pružao tačnu prognozu. Ipak, otkrio je uska mesta gde je bilo potrebno dodati dodatni „hardver“ i omogućio optimizaciju procesa isplaćivanja novca dogovorom sa ključnim klijentima: kako ne bismo isplaćivali plate „u jednom potezu“, transakcije iz različitih regiona su raspoređene po vremenu. Sada ih obrađujemo u delovima koje IT infrastruktura banke može „svariti“ bez prekida.

Nakon postizanja prvog pozitivnog rezultata, prešli smo na automatizaciju prognoziranja. Čekalo je još desetak kritičnih tačaka.

Kompleksan pristup

U VTB-u je implementiran sistem nadzora kompanije MicroFocus. Odande smo uzeli prikupljanje podataka za prognoziranje, sistem skladištenja i sistem generisanja izveštaja. U suštini, monitoring je već postojao, samo je trebalo dodati metrike, modul za predikciju i kreirati nove izveštaje. Ovo rešenje podržava spoljašnji izvođač „Tehnoserv“, tako da su glavni radovi na implementaciji projekta pasti na njegove stručnjake, ali smo model izgradili samostalno. Sistem prognoziranja napravljen je na osnovu Prophet - ovaj otvoreni proizvod razvila je Facebook. Lako se koristi i lako se integriše sa postojećim sredstvima za sveobuhvatan monitoring i Vertica. Drugim rečima, sistem analizira grafikon opterećenja i na osnovu Furijevih nizova pravi njegov ekstrapolaciju. Takođe postoji mogućnost dodavanja određenih koeficijenata po danima, uzetih iz našeg modela. Metrike se skupljaju bez ljudske intervencije, prognoza se automatski preračunava jednom nedeljno, a novi izveštaji se šalju zainteresovanim stranama. 

Ta metoda razkriva glavne cikličnosti, kot so letni, mesečni, četrtletni in tedenski. Izplačila plač in akontacij, obdobja dopustov, prazniki in razprodaje - vse to vpliva na število poizvedb v sistemih. Izkazalo se je, da se nekateri cikli prekrivajo, medtem ko glavnino obremenitve (75 %) na sisteme predstavlja Centralni federativni okrug. Pravni in fizični subjekti se obnašajo različno. Medtem ko je obremenitev s strani »fizičnih« oseb razmeroma enakomerno razporejena po dnevih v tednu (gre za zelo veliko število manjših transakcij), pa pri podjetjih 99,9 % obremenitve nastane v delovnem času, pri čemer so lahko transakcije kratke, lahko pa se obdelujejo tudi več minut ali celo ure.

Monitoring + load testing = forecasting and preventing failures

Na podlagi pridobljenih podatkov so določeni dolgotrajni trendi. Nov sistem je pokazal, da ljudje množično prehajajo na DBO. To je znano, vendar nismo pričakovali takšnih obsežnosti in sprva temu nismo verjeli: število poizvedb v bankovnih uradih se izjemno hitro zmanjšuje, hkrati pa narašča število daljinskih transakcij. Tako se tudi obremenitev sistemov povečuje in se bo še naprej povečevala. Trenutno napovedujemo obremenitev do februarja 2020. Normalne dni lahko napovemo s 3 % napako, vršne pa z 10 % napako. To je dober rezultat.

Skrbi

Brez težav, kakor običajno, ni šlo. Mehanizem ekstrapolacije z uporabo Fourierovih vrst slabo prehaja skozi nič - vemo, da ob koncu tedna pravne osebe generirajo malo transakcij, vendar napovedni modul daje vrednosti daleč od nič. Lahko bi jih prisilno popravili, vendar to ni naš način. Poleg tega smo morali rešiti težavo brezglavega pridobivanja podatkov iz sistemov-izvorov. Redno zbiranje informacij zahteva resne računalniške vire, zato smo zgradili hitre predpomnilnike s pomočjo replikacije, poslovne podatke pa pridobivamo že iz replik. Odsotnost dodatne obremenitve na glavnih sistemih v takih primerih je blokirajoče zahtevana.

Novi izzivi

Zadati cilj predviđanja vrhunca je rešen: od maja ove godine nije bilo povezanih prekida usled preopterećenja u banci, a novi sistem predviđanja je odigrao značajnu ulogu u tome. Da, ispostavilo se da to nije bilo dovoljno, a sada banka želi da razume koliko su ti vrhunci opasni. Potrebne su nam prognoze koristeći metrike iz opterećenja testiranja, a to već funkcioniše za oko 30% kritičnih sistema, dok su ostali u procesu obezbeđivanja prognoza. U sledećoj fazi planiramo da predviđamo opterećenje na sistemima ne u poslovnim transakcijama, već u terminima IT infrastrukture, tj. spustićemo se na niži nivo. Pored toga, potrebno je potpuno automatizovati prikupljanje metrika i njihovo korišćenje za izradu prognoza, kako ne bismo morali da se bavimo ekportovanjem. U tome nema ništa izvanredno - jednostavno spajamo monitoring i testiranje opterećenja u skladu sa najboljim svetskim praksama.

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster