Мониторинг + тестване на натоварване = предвидимост и липса на грешки

ИТ отделът на VTB няколко пъти трябваше да се справя с извънредни ситуации в работата на системите, когато натоварването върху тях се увеличи многократно. Поради това стана необходимо да се разработи и тества модел, който да прогнозира пиковото натоварване на критичните системи. За целта ИТ специалистите на банката създадоха мониторинг, анализираха данните и се научиха как да автоматизират прогнозите. Какви инструменти помогнаха да се предвиди натоварването и дали беше възможно да се оптимизира работата с тяхна помощ, ще разкажем в кратка статия.

Мониторинг + тестване на натоварване = предвидимост и липса на грешки

Проблеми с високо натоварени услуги възникват в почти всички индустрии, но те са критични за финансовия сектор. В час X всички бойни единици трябваше да бъдат готови, така че беше необходимо да се знае предварително какво може да се случи и дори да се определи денят, в който ще се повиши натоварването и кои системи ще го изправят. Неизправностите трябва да се справят и предотвратяват, така че необходимостта от внедряване на система за прогнозен анализ дори не беше обсъждана. Системите трябваше да бъдат надградени въз основа на данните от мониторинга.

Анализ на коляното

Проектът за заплати е един от най-чувствителните в случай на провал. Тя е най-разбираема за прогнозиране, затова решихме да започнем с нея. Поради високата свързаност по време на пикови натоварвания, други подсистеми също могат да изпитват проблеми, включително дистанционно банкиране (RB). Например клиентите, които бяха възхитени от SMS за получаване на пари, започнаха активно да ги използват. В този случай натоварването може да скочи с повече от един порядък. 

Първият прогнозен модел е създаден ръчно. Взехме качването за последната година и изчислихме в кои дни се очакват максималните пикове: например на 1, 15 и 25, както и в последните дни на месеца. Този модел изискваше сериозни разходи за труд и не дава точна прогноза. Въпреки това тя идентифицира тесните места, където е необходимо да се добави „желязо“, и позволи да се оптимизира процесът на прехвърляне на пари, като се споразумя с водещи клиенти: за да не се дават заплати „на един дъх“, транзакциите от различни региони бяха разпределени във времето . Сега ги обработваме на части, които ИТ инфраструктурата на банката може да „сдъвче“ без грешки.

След като получихме първия положителен резултат, преминахме към автоматизиране на прогнозирането, още дузина критични области чакаха своя ред.

Интегриран подход

VTB внедри система за мониторинг от MicroFocus. Оттам взехме събиране на данни за прогнозиране, система за съхранение и система за отчитане. Всъщност вече имаше мониторинг, оставаше само да се добавят показатели, модул за прогнозиране и да се създават нови отчети. Това решение се поддържа от външния изпълнител Техносерв, така че основната работа по изпълнението на проекта падна на неговите специалисти, но ние изградихме модела сами. Системата за прогнозиране е направена на базата на Prophet - този отворен продукт е разработен от Facebook. Той е лесен за използване и лесно се интегрира с нашите интегрирани инструменти за наблюдение и Vertica. Грубо казано, системата анализира графика на зареждане и го екстраполира въз основа на редовете на Фурие. Също така е възможно да добавите някои коефициенти за дните, взети от нашия модел. Метриките се вземат без човешка намеса, веднъж седмично прогнозата се преизчислява автоматично, нови отчети се изпращат на получателите. 

Този подход разкрива основните цикли, например годишни, месечни, тримесечни и седмични. Заплати и авансови плащания, ваканционни периоди, празници и разпродажби - всичко това влияе върху броя на обажданията към системите. Оказа се например, че някои цикли се припокриват, а основното натоварване (75%) на системите идва от Централния федерален окръг. Юридическите и физическите лица се държат различно. Ако натоварването от "физиците" е сравнително равномерно разпределено през дните от седмицата (има много малки транзакции), тогава компаниите имат 99,9% през работното време, освен това транзакциите могат да бъдат кратки или могат да бъдат обработени в рамките на няколко минути или дори часове.

Мониторинг + тестване на натоварване = предвидимост и липса на грешки

Въз основа на получените данни се определят дългосрочните тенденции. Новата система разкри, че хората масово напускат банкирането от разстояние. Всички знаят това, но ние не очаквахме такъв мащаб и в началото не вярвахме в тях: броят на обажданията до офисите на банката изключително бързо намалява, а броят на дистанционните транзакции расте с точно същата сума. Съответно натоварването на системите също расте и ще продължи да расте. Сега прогнозираме натоварването до февруари 2020 г. Нормалните дни могат да бъдат предвидени с грешка от 3%, а пиковите дни - с грешка от 10%. Това е добър резултат.

Клопките

Както обикновено, не мина без трудности. Механизмът за екстраполация, използващ редове на Фурие, не пресича добре нулата - знаем, че юридическите лица генерират малко транзакции през уикенда, но модулът за прогнозиране произвежда стойности, които са далеч от нула. Можеше да се коригират насилствено, но патериците не са нашият метод. Освен това трябваше да решим проблема с безболезненото премахване на данни от изходните системи. Редовното събиране на информация изисква сериозни изчислителни ресурси, така че изградихме бързи кешове, използвайки репликация, получаваме бизнес данни вече от реплики. Липсата на допълнително натоварване на главните системи в такива случаи е изискване за блокиране.

Нови предизвикателства

Задачата за прогнозиране на пикове беше решена: от май тази година в банката няма повреди, свързани с претоварване, и новата система за прогнозиране изигра важна роля в това. Да, това не беше достатъчно и сега банката иска да разбере колко опасни са пиките за нея. Имаме нужда от прогнози, използващи показатели от тестване на натоварване, и за около 30% от критичните системи това вече работи, останалите са в процес на получаване на прогнози. На следващия етап ще предвидим натоварването на системите не в бизнес транзакциите, а от гледна точка на ИТ инфраструктурата, т.е. ще слезем до слоя по-долу. Освен това трябва да автоматизираме напълно събирането на метрики и изграждането на прогнози въз основа на тях, за да не се занимаваме с разтоварване. В това няма нищо особено - ние просто кръстосано наблюдение и тестване на натоварване в съответствие с най-добрите световни практики.

Източник: www.habr.com

Добавяне на нов коментар