И н ф р а с т р у к т у р а   д л я   б о л ь ш о г о   н а г р у з о ч н о г о   т е с т а А н т о н   Н е ч е у х и н , T e c h n i c a l   Q A   l e a d
И н ф р а с т р у к т у р а К л а с т е р   д л я   п о д а ч и   н а г р у з к и К л а с т е р   а н а л о г и ч н ы й   п р о д у С е р в и с ы   д л я   с б о р а   м е т р и к С е р в и с ы   д л я   м а с ш т а б и р о в а н и я К о д   д л я   у п р а в л е н и я И н с т р у м е н т ы   д л я   з а п у с к а     и   а в т о з а у п с к а С е р в и с   д л я   п о д г о т о в к и   о т ч е т о в
Ж и з н е с п о с о б н о с т ь   с е р в и с а   п о д   у г р о з о й   в   с в я з и   с о   з н а ч и т е л ь н ы м   р о с т о м   п о л ь з о в а т е л е й 1 2 K     1 9 K   o n l i n e   u s e r s   ( з а   п о л   г о д а ) 4 / 8 9
С х е м а   с е р в и с а S e r v i c e s W e b s e r v e r s L o a d   b a l a n c e r s B o a r d   s e r v e r s S e r v e r s   w i t h   o t h e r   r o l e s R e d i s   s e r v e r s P o s t g r e S Q L   s e r v e r s P g B o u n c e r A c t i v e   M Q . . . . . . . . . W e b S o c k e t B i l l i n g
Р е а л и с т и ч н ы й   с ц е н а р и й Б о л ь ш о й   т е с т ,   и м и т и р у ю щ и й   р а б о т у   п р о д а
З а ч е м   б о л ь ш о й   т е с т ? П л ю с ы 1 .   Н а д ё ж н ы й   к о м п л е к с н ы й   р е з у л ь т а т 2 .   Б ы с т р о 3 .   Н а р а б о т к и   д л я   9 0 %   л о к а л ь н ы х   т е с т о в Г л а в н ы й   м и н у с 1 .   Д о р о г о   г о н я т ь 7 / 8 9
Э ф ф е к т и в н о   н а г р у ж а е м 1 .   А н а л и з и р у е м   с к а ч к и   н а   п р о д е 2 .   Н о   ф о н о в а я   н а г р у з к а   т о ж е   б у д е т ,   и щ е м   б а л а н с М е т р и к и 1 .   М ы   и щ е м   п р и н ц и п и а л ь н о   в а ж н ы е   д л я   н а с   м е т р и к и 2 .   С о б и р а е м   с т а т и с т и к у   п о   н и м   н а   п р о д е К а к ? 8 / 8 9
Н а   о с н о в е   с т а т и с т и к и 9 / 8 9
И н т е н с и в н о с т ь   ч т е н и е \ з а п и с ь
А н а л и з   и с п о л ь з о в а н и я   м о д е л е й
* Н е т   п о в т о р я ю щ и х с я   б л о к о в       в с ё   в   м о д у л я х Б л о к   1 С е р в и с Б л о к   2 Б л о к   N . . . Б л о к   1 Б л о к   2 Б л о к   N . . . Р е а л и с т и ч н ы й   с ц е н а р и й н е р е а л и с т и ч н ы й   с ц е н а р и й н е р е а л и с т и ч н ы й   с ц е н а р и й н е р е а л и с т и ч н ы й   с ц е н а р и й
Д а н н ы е   д л я   с ц е н а р и я М у с о р н ы е   д а н н ы е Р а з м н о ж е н н ы е   д а н н ы е   к о п и р о в а н и е м О с м ы с л е н н ы е   д а н н ы е ,   с о з д а н н ы е   с р е д с т в а м и   с е р в и с а   с   п о м о щ ь ю   R E S T   A P I
Х о ч е т с я   п р о в е р и т ь   в с ё   р а з о м ? И с п о л ь з у й т е р е а л и с т и ч н ы й   с ц е н а р и й
И з у ч а й т е   а н а л и т и к у   и с п о л ь з о в а н и я ,   ч т о б ы   п р о е к т и р о в а т ь   с т р у к т у р у   с ц е н а р и я
С о з д а в а й т е   у д о б н ы е   б л о к и   д л я   н а с т р о й к и
Н а с т р а и в а й т е   п о   р е а л ь н ы м   м е т р и к а м , а   н е   п о   а н а л и т и к е   и с п о л ь з о в а н и я
Д а н н ы е       э т о   ч а с т ь   с ц е н а р и я
К л а с т е р   д л я   п о д а ч и   н а г р у з к и
W S   p l u g i n S t r e s s -   c l i e n t S i t e W e b -   s e r v e r B o a r d -   s e r v e r D B   s e r v e r A P I -   s e r v e r
W S   p l u g i n 1 .   Р а б о т а   с   W S 2 .   L i s t e n e r s 3 .   * М е х а н и з м   а р х и в а ц и и   п а к е т о в   к а к   н а   к л и е н т е 2 2 / 8 9
2 3 / 8 9 О с о б е н н о с т и   в ы п о л н е н и я   j s Э т о   н е   J S   ф р е й м в о р к ,   к а к   a n g u l a r   и л и   e x t J S . Э т о   к о н к р е т н а я   с п е ц и ф и ч н а я   в е р с и я   J S ,   в ы п о л н я е м а я   в   J a v a . С т о и т   п р о в е р и т ь   к о д   п е р е д   з а п у с к о м .   Т о л ь к о   R h i n o -   п о д д е р ж и в а е м ы е   ф у н к ц и и .
C l i e n t     J S R 2 2 3   S a m p l e r   И с п о л ь з у е м   н у ж н ы е   м е т о д ы   к а к   б р а у з е р C l i e n t Л и ш н е е К л и е н т -   с е р в е р н о е   в з а и м о д е й с т в и е S t r e s s -   c l i e n t -   = =
-     С л о ж н о   п о н я т ь   в и д   о т п р а в л я е м ы х   д а н н ы х -     Т р е б у е т с я   с о в м е с т и м о с т ь   к л и е н т а   и   с е р в е р а   в   ч а с т и   м о д е л е й П л ю с ы : -     К л и е н т -   с е р в е р н о е   в з а и м о д е й т с в и е   р е д к о   м е н я е т с я -     П о ч т и   н е т   ф у н к ц и о н а л ь н ы х   о г р а н и ч е н и й   в   т е с т е М и н у с ы
J S R   с   и с п о л ь з о в а н и е м   J a v a S c r i p t   м о ж е т   с т а т ь   у з к и м   м е с т о м   п р о и з в о д и т е л ь н о с т и   и   и с п о р т и т ь   т е с т 2 6 / 8 9
Н а ш   п р и м е р Т и п   J m e t e r   s e r v e r   в   A W S :   m 5 . l a r g e   ( $ 0 . 0 6   p e r   H o u r ) v C P U :   2 M e m   ( G i B ) :   8 D e d i c a t e d   E B S   B a n d w i d t h   ( M b p s ) :   U p   t o   3 , 5 0 0 N e t w o r k   P e r f o r m a n c e   ( G b p s ) :   U p   t o   1 0   ~ 7 3 0   п о т о к о в 2 7 / 8 9
Г д е   р а з м е с т и т ь   с е р в е р а ? H e t z n e r К у п и т ь   с е р в е р а О б л а ч н ы й   п р о в а й д е р О б л а ч н ы е   l o a d   и н с т р у м е н т ы A W S O p e n s t a c k   +   H e t z n e r R e d L i n e 1 3 B l a z e m e t e r . . .
О б л а ч н ы е   п р о в а й д е р ы A WS Openctack+Hetzner Hetzner Фичи Е сть Е сть, но сл о жнее Не т Цена X В 17 ра з дешев ле Х В 17 ра з дешев ле Х
С о д е р ж а н и е   J m e t e r   с е р в е р о в   в   A W S Н а п р и м е р   5 0 К   o n l i n e = 5 0   0 0 0   \   7 3 0   =   6 9   и н с т а н с о в З а   м е с я ц : = 6 9 * 3 0 * 2 4 * 0 , 0 6 = $   2 9 8 1 = и н с т а н с о в * д н е й * ч а с о в * ц е н а 3 0 / 8 9
S p o t   i n s t a n c e s
С о д е р ж а н и е   S P O T -   J m e t e r   с е р в е р о в   в   A W S Т е   ж е   5 0 К   o n l i n e 6 9   и н с т а н с о в $ 0 , 2 4   ц е н а   с п о т о в о г о   и н с т а н с а З а   м е с я ц : = 6 9 * 6 * 1 2 * 0 , 2 4 = $   1 1 9 2 = и н с т а н с о в * ч а с о в   з а   т е с т * т е с т о в   в   м е с я ц * ц е н а Э к о н о м и я :   $ 1 7 8 8   ( м и н и м у м   6 0 % ) 3 2 / 8 9
J m e t e r   -     m a s t e r J m e t e r s e r v e r   1 J m e t e r s e r v e r   2 J m e t e r s e r v e r   n . . .
F i l e b e a t     K i b a n a
P r o m e t h e u s   -   >   G r а f a n a
К о н ф и г и   в м е с т о   к л о н о в   с ц е н а р и е в К о н ф и г и   д л я   J m e t e r   с е р в е р о в Л е г к и е   о н л а й н   р е з у л ь т а т ы У д о б н а я   и н т е г р а ц и я   с   C I З а п у с к   в   р а с п р е д е л е н н о й   с и с т е м е T a u r u s
C т о и т   з а р а н е е   п о д у м а т ь   о   п р о и з в о д и т е л ь н о с т и   к о д а   в н у т р и   с ц е н а р и я
J m e t e r   c l u s t e r   л е г к о   н а с т р а и в а е т с я .   К   н е м у   л е г к о   п р и к р у ч и в а е т с я   м о н и т о р и н г
З а   б о л ь ш о й   к л а с т е р   м о ж н о   п л а т и т ь   н е м н о г о
А к к у р а т н о   с   l i s t e n e r s
И н ф р а с т р у к т у р а   д л я   и м и т а ц и и   п р о д а
Б Д W e b Р а б о ч и е   с е р в е р а   ( b o a r d ,   a p i , r e s g e n ) С е р в и с ы Т и п ы   с е р в е р о в ? 4 2 / 8 9
4 3 / 8 9 A u t o   s c a l i n g Р а б о ч и х   с е р в е р о в   в   т е с т е   у   н а с : A P I   ~ 2 0 B o a r d   ~ 1 5
К у л ь т у р а   D e v O p s   в   к о м а н д а х С о с т а в л е н и е   с ц е н а р и е в   д л я   т е с т о в А н а л и з   р е з у л ь т а т о в   т е с т о в н е в о з м о ж н о   б е з п о н и м а н и я   р а б о т ы   п р о д а
Н а г р у з о ч н ы е   т е с т ы   -     и н ф р а с т р у к т у р н ы е   т е с т ы
I n f r a s t r u c t u r e   a s   c o d e   1 .   Д е ш е в о   ( O p e n s t a c k   и   к о г д а   н а д о ) 2 .   А к т у а л ь н а я   с р е д а 3 .   П о н и м а н и е   п р о д а   в   к о м а н д а х 4 .   Д о к у м е н т а ц и я
Качество -    ответственность  команды Тестирование  инфрастркутуры
Подготовка инфраструктуры Т е с т и р у е м   т о ж е M o l e c u l e
Chaos monkey testing C h a o s   m o n k e y   д л я   A W S   о т   n e t i x P u m b a   д л я   d o c k e r
C и с т е м ы   м о н и т о р и н г а l o g s m o n i t o r i n g f e e d b a c k S e n t r y a n d t e s t i n g   o f   l o g s M a t o m o   -     t e s t i n g   o f   m o n i t o r i n g U s a b i l i t y   t e s t i n g   a n d   P r o d u c t   C o n v e n i e n c e a l e r t s m o n i t o r i n g l o g s
И Т О Г О В с е   у п р а в л я е т с я   с к р и п т а м и : A n s i b l e   -     д л я   к о н ф и г у р и р о в а н и я   и   з а п у с к а T e r r a f o r m   -     д л я   о р к е с т р о в к и
Н а ш   з а п у с к   т е с т а :
М о н и т о р и н г
М о н и т о р и н г : *   -     п л а н и р у е м *
К о п и р у е м   с   п р о д а О н   е с т ь   с р а з у   и   п о л н ы й Е с л и   н е   п о л н ы й   -     э т о   н а д о   и с п р а в и т ь   и   н а   п р о д е М о н и т о р и н г   н у ж д а е т с я   в   т е с т и р о в а н и и
О т ч е т ы
О т ч е т   д о л ж е н   с о д е р ж а т ь Т е х н и ч е с к и е   х а р а к т е р и с т и к и   с т е н д а
С ц е н а р и й   ( к р а т к о ) О т ч е т   д о л ж е н   с о д е р ж а т ь
Р е з у л ь т а т ,   п о н я т н ы й   в с е м   в   к о м а н д е О т ч е т   д о л ж е н   с о д е р ж а т ь
Г р а ф и к и   о б щ е г о   с о с т о я н и я   с т е н д а О т ч е т   д о л ж е н   с о д е р ж а т ь
Г р а ф и к и ,   к о т о р ы е   п о к а з ы в а ю т   у з к о е   м е с т о   и л и   т о ,   н а   ч т о   п о в л и я л а   о п т и м и з а ц и я ,   п р о в е р я е м а я   в   з а п у с к е О т ч е т   д о л ж е н   с о д е р ж а т ь
П р и   э т о м Д о л ж н о   б ы т ь   у д о б н о   с р а в н и в а т ь   д а н н ы е ,   у д о б н о   в и д е т ь   р а з н ы е   з а п у с к и   в   о д н о м   м е с т е
П р и   э т о м Л е г к о   ч и т а е м ы й   ф о р м а т ,   п о н я т н ы й   д л я   р а з р а б о т ч и к о в   и   д л я   м е н е д ж е р о в
М ы   и с п о л ь з у е м   д л я   о т ч е т о в :
Т е с т и р о в а н и е   D B
Т е с т   п о м о ж е т   и х   п о с ч и т а т ь ,   н о   с а м а   п р о б л е м а   р е ш а е т с я   н е   н а г р у з о ч н ы м и   т е с т а м и Т я ж ё л ы е   з а п р о с ы ? 6 7 / 8 9
В   д и с к ? У в и д е т ь   п р и ч и н у   л е г к о   г л я д я   н а   i o w a i t 6 8 / 8 9
К а к   э т о   с к а з ы в а е т с я   н а   п о л ь з о в а т е л е й ? 6 9 / 8 9
П р и ч и н ы :   v a c u u m   н е   о т р а б о т а л   н и   р а з у 7 0 / 8 9
П р и ч и н ы : С h e c k p o i n t e r   с р а б а т ы в а л   х а о т и ч н о   н е   п о   в р е м е н и ,   а   п о   р а з м е р у   л о г а
D u m p   +   L o g s   -   >   p g _ r e p l a y p g _ f o u i n e p g _ b e n c h   -   >   n a n c i _ c l i 7 2 / 8 9
Г д е   в з я т ь   л о г и   д л я   с ц е н а р и я ? П р о б л е м а З а п и с а т ь   р е а л и с т и ч н ы й   с ц е н а р и й
Т р е б о в а н и е   д л я   с ц е н а р и я Н е р а в н о м е р н ы й   с ц е н а р и й :   е с т ь   п и к и   и   м е н я е т с я   с о о т н о ш е н и е   ч т е н и е /   з а п и с ь
П о м о г у т   в ы д е л е н н ы е   б л о к и ,   д а ю щ и е   э ф ф е к т и в н у ю   н а г р у з к у К а к ? 7 5 / 8 9
М о н и т о р и н г   д е г р а д а ц и й
С р а в н е н и е   р е з у л ь т а т о в   н а г р у з о ч н о г о   т е с т а Э т а л о н н ы е   з н а ч е н и я З а п у с к Э т а л о н н ы е   з н а ч е н и я   ~ =   З а п у с к   +   м а р ж а Т е с т   п р о й д е н Т е с т   у п а л
A u t o t e s t s   & &   L o a d   t e s t s 7 8 / 8 9
А в т о м а т и ч е с к и й   с т а р т   т е с т о в   н а   б и л д   м а с т е р а Д е п л о й   в е р с и и   н а   т е с т о в ы й   с т е н д З а п у с к   ф у н к ц и о н а л ь н ы х   а в т о т е с т о в З а п у с к   н а г р у з о ч н ы х   т е с т о в   в   J m e t e r С б о р   о т ч е т а   в   A l l u r e T i m e o u t T i m e o u t h t t p   r e q u e s t   з а п у с к а е т   p y t h o n   с к р и п т ,   к о т о р ы й   с т а р т у е т   J m e t e r С р е д н я я   н а г р у з к а J a v a + S e l e n i u m В ы п о л н я е т с я   п о л н ы й   н а б о р   т е с т о в   н а   м а с т е р К а к ?
А в т о т е с т ы   н а х о д я т   п р о б л е м ы   с   з а м е д л е н и е м   в ы п о л н е н и я   з а п р о с о в   п р и   и з м е н е н и и   к о д а
В Ы В О Д Ы
Л е г к о   н а с т р а и в а е м ы й   р е а л и с т и ч н ы й   с ц е н а р и й   п р о в е р и т   т о ,   ч т о   в ы   н е   п р е д п о л а г а л и
П о д н и м а е м   к л а с т е р   д л я   п о д а ч и   н а г р у з к и   т о л ь к о   н а   в р е м я   т е с т а
P r o d   к л а с т е р   д о л ж е н   у м е т ь   п о д н и м а т ь с я   с к р и п т а м и
Р е а л и с т и ч н ы й   т е с т   п о з в о л я е т   с о з д а т ь   т е с т   д л я   D B
Ф у н к ц и о н а л ь н а я   п р о в е р к а   п о д   н а г р у з к о й   в о з м о ж н а
О т ч е т ы   д о л ж н ы   б ы т ь   ф о р м а л и з о в а н ы   и   а в т о м а т и з и р о в а н ы
A n t o n   N e c h e u k h i n T e c h n i c a l   Q A   l e a d n e c h e u k h i n @ m i r o . c o m w w w . l i n k e d i n . c o m / i n / a n t n c h