Шаблон плана тэсціравання прадукцыйнасці, які можна выкарыстоўваць як ёсць, альбо змяніць у адпаведнасці з патрэбамі вашага праекта з пункту гледжання патрабаванняў да прадукцыйнасці.
Мэта гэтага раздзела - даць агляд высокага ўзроўню падыходу да тэставання прадукцыйнасці, якога варта прытрымлівацца праект. Гэта павінна быць прадстаўлена ўсім адпаведным зацікаўленым бакам і павінна быць абмеркавана для дасягнення кансенсусу.
У рамках дастаўкі патрабуецца, каб рашэнне адпавядала крытэрам прыняцця як з пункту гледжання функцыянальных, так і нефункцыянальных абласцей. Мэта гэтага дакумента - даць план для нефункцыянальнага тэсціравання
раствор.
Гэты дакумент ахоплівае наступнае:
Наступныя працоўныя задачы павінны быць выкананы / узгоднены загадзя, каб перайсці да фактычных мерапрыемстваў па тэсціраванні прадукцыйнасці:
, з колькаснымі паказчыкамі NFR, дзе гэта магчыма
Дзейнасць па тэсціраванні прадукцыйнасці будзе завершана, калі:
Тэсты прадукцыйнасці будуць праводзіцца на стабільнай версіі рашэнне (якое ўжо прайшло функцыянальныя выпрабаванні) і выканана ў спецыяльнай вытворчай асяроддзі (папярэдняй прадукцыі?), прызначанай для тэсціравання прадукцыйнасці без разгортвання ў гэтым асяроддзі падчас тэставання прадукцыйнасці.
Будзе створаны адзін або некалькі спецыяльных 'фарсунак', якія ствараюць неабходную нагрузку для тэставання прадукцыйнасці. Інжэктар нагрузкі можа быць віртуальнай машынай або некалькімі віртуальнымі машынамі, якія экземплярам JMeter працуе, ініцыюючы запыты.
Тэставымі інструментамі, якія выкарыстоўваюцца для тэставання аб'ёму і прадукцыйнасці, будуць:
Інструмент тэсціравання нагрузкі з адкрытым зыходным кодам. Пераважна выкарыстоўваецца для тэставання аб'ёмаў і прадукцыйнасці.
Splunk будзе выкарыстоўвацца для рэгістрацыі (Можаце выкарыстаць іншы інструмент - трэба пацвердзіць з камандай, якая правярае перф).
рашэнне павінна быць дастаткова эфектыўным для кіравання наступнымі крытэрыямі нагрузкі.
Н.Б. Лічбы ў наступнай табліцы прыведзены толькі для ўзору - рэальныя значэнні павінны быць устаўлены пасля ўвядзення Дакумент NFR.
Гадзінныя задачы выяўлены з бягучага рашэння на [Y2019]. Ачышчаны іншыя значэнні 'прыкладу' з шаблона плана.
Паколькі пагадзінныя пікавыя значэнні невысокія, яны будуць прыняты за заданне пры выпрабаванні з фіксаванай нагрузкай. Маштабавальны каэфіцыент - гэта TBD.
Тэсціраванне прадукцыйнасці будзе праводзіцца максімум з 1000 [?] Карыстальнікамі. Карыстальнікі будуць створаны ў загадзя і быць даступным праз
API ўваходу. Кожны запыт будзе ўваходзіць з розным ідэнтыфікатарам карыстальніка.
Інструмент JMeter будзе выкарыстоўвацца для выканання сцэнарыяў тэсціравання прадукцыйнасці. Унутры сцэнарыяў будуць сфармуляваны сцвярджэнні для праверкі вышэйпаказаных паказчыкаў, а таксама некаторыя асноўныя функцыянальныя праверкі для забеспячэння атрымання правільных адказаў на кожны запыт.
Профілі нагрузкі павінны быць распрацаваны так, каб імітаваць тыповы сярэднесутачны трафік да сайт. Звярніце ўвагу, што трафік размеркаваны і абмежаваны толькі часткай сайта, якая тычыцца ідэнтычнасці кліента і кіравання доступам, г.зн.
Ніжэй прыведзены прыклад профілю за дзень:
Першы курс дзеянняў - знайсці зыходную лінію. Выкарыстоўваючы толькі 1 карыстальніка, мы запусцім мадэляванне на працягу пэўнага перыяду часу (напрыклад, 5 хвілін), каб атрымаць сярэдні час водгуку для кожнай канчатковай кропкі. Гэта гарантуе, што толькі з 1 карыстальнікам мы сапраўды можам дасягнуць пікавых запытаў у секунду.
Пасля збору паказчыкаў зыходнага ўзроўню запускаецца тая ж мадэляцыя, якая імітуе профіль нагрузкі, з павялічанай колькасцю карыстальнікаў для тэставання на мэтавыя аб'ёмы. Ідэя гэтага выпрабавання нагрузкі складаецца ў тым, каб праверыць сістэму на тыповую дзённую нагрузку, мадэлюючы нарошчванне, пікі дня і падзенне.
Мэта стрэс-тэставання - знайсці кропку разбурэння сістэмы, гэта значыць, у які момант сістэма не рэагуе. Калі ўстаноўлена аўтаматычнае маштабаванне, стрэс-тэст таксама стане добрым паказчыкам, пасля чаго дадаюцца маштабы сістэмы і новыя рэсурсы. Для стрэс-тэсціравання выкарыстоўваецца тое ж мадэляванне, якое выкарыстоўваецца для выпрабаванняў нагрузкі, але з нагрузкай, большай за чаканую.
Выпрабаванне шыпамі ўносіць значную нагрузку на сістэму за адносна кароткі прамежак часу. Мэтай гэтага тэсту з'яўляецца мадэляванне падзеі продажаў, напрыклад, калі вялікая колькасць карыстальнікаў адначасова атрымлівае доступ да свайго ўліковага запісу за адносна кароткі прамежак часу.
Тэставанне на замочванне будзе праводзіць тэст нагрузкі на працягу доўгага перыяду часу. Мэта складаецца ў тым, каб выявіць уцечку памяці і адсутнасць рэакцыі альбо памылкі падчас праверкі замочвання. Мы звычайна выкарыстоўваем 80% нагрузкі (выкарыстоўваецца для выпрабаванняў нагрузкі) на працягу 24 гадзін і / або 60% нагрузкі на працягу 48 гадзін.
Пры тэставанні кропкі насычэння мы працягваем пастаянна павялічваць нагрузку, каб вызначыць, у які момант сістэма не рэагуе, гэта значыць знайсці кропку разбурэння сістэмы з пункту гледжання нагрузкі.
Для завяршэння тэсціравання прадукцыйнасці прапануецца правесці наступныя мерапрыемствы:
Наступныя тэсты павінны быць выкананы ў наступным парадку:
У ідэале будзе праведзена 2 выпрабавальныя прагоны для кожнага тыпу выпрабаванняў. Пасля кожнага тэставага запуску прыкладанне можа быць дакладна наладжана для павышэння яго прадукцыйнасці, і тады пачнецца яшчэ адзін тэставы цыкл.