Танки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
description
Transcript of Танки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
!"#$%&'($)*+*,$-./012341456758,+92)*$/:;65;$)*+*$8:<.
=70:>:<?14@A$857BBC$/.857D:E/:8:$14F1?5:>./?;!"#$%&'()*+,-.%/
01"2-'/'3)"141$2%5'"16$)*7."7%'8%98-$7/1"-%'/':"#%29%
!"#$%&, 1 "$'()*(
http://company.yandex.ru/public/yac/
Yet another Conference 2010
!"#$%& '&()*)+,?!
HP LoadRunner
Apache JMeter
Borland SilkPerformer
Visual Studio Load Test
abpylot
http_load
Siege
Grinder
httperfTsung
WebLOAD
Rational Performance Tester
Load Impact
-"./01$ 1 2"+"31$ %"(45+6
7).$(/,1$ 1 8$4*.)5(6$ %"(45+6
9)%"*14(6$ %"(45+6
!"#$%&'("$) "*+%&,-."-+- $(#$/%-0*"/1 !"#$%&
'()%&
*)"+$%& ,-"./%&
HP LoadRunner
Apache JMeter
Borland SilkPerformer
Visual Studio Load Test
abpylot
http_load
Siege
Grinder
httperfTsung
WebLOAD
Rational Performance Tester
Load Impact
HP LoadRunner
Apache JMeter
Borland SilkPerformer
Visual Studio Load Test
abpylot
http_load
Siege
Grinder
httperfTsung
WebLOAD
Rational Performance Tester
Load Impact
+,-&.&*$
«Yeah, well... I'm gonna go build my own theme park, with blackjack and hookers. In fact, forget the park!»
Bender, Futurama
!"#$%&'("$) "*+%&,-."-+- $(#$/%-0*"/1 !"#$%&
'()%&
*)"+$%& ,-"./%&
/0&-1. ,"0&12 .3"4 52$676-8?2. 9/" 2 $6. 7")20()".:3. ;/./27)&$(& 14. 9/" 2 $6. 7")20()".:5. ;/./27)&$(& 26. 9/" 2 $6. 7")20()".:7. <6/6-.(.
1. 2-.('& #0-3 4&"*5*%6?
2. 7$- & "*# 5-8&./8-#93. :$#$&58("/(4. 7$- & "*# 5-8&./8-#95. :$#$&58("/(6. 2-.('& 4&"*5*%6?7. 2-$-'& .$- 4&"*5*%6!
Phantom:5" 41./(" "*51%1;1+"<)((6= .$$$$$3,1= web-4$+<$+,,"5"+6= ().4> ;)2)<)5/
<"*+"46
1*&-2-32 *24,05'&'"%
?3+$31+"<)((6$ 2)((6$
1*&-2-32 *24,05'&'"%!".(6= 2)%* ;)*+"4"<, "5<$5"<,
<+$%$(1 <6*".($(1>
1*&-2-32 *24,05'&'"%@"445)("<.$(()> 45+&,5&+)
;)*+"4"<
/route_jams/*/abc?z=[`11`-`17`]&origin=(‘jsRouter’,‘maps’)&[rll=*]&[output=‘geometry’]
1*&-2-32 *24,05'&'"%
? $AB 45)51451,) 4 %10$($=, *)+)%$5+6 ",+&C$(1> 1 $A$ %("3" #$3" :)
Wiki
!"#$$
95)51451,)
7"(15"+1(31
JIRA
1. 2-.('& #0-3 4&"*5*%6?2. 7$- & "*# 5-8&./8-#9
3. :$#$&58("/( 14. 7$- & "*# 5-8&./8-#95. :$#$&58("/( 26. 7$- & "*# 5-8&./8-#97. 2-$-'& .$- 4&"*5*%6!
Wiki
!"#$$
95)51451,)
7"(15"+1(31
JIRA
420!+
"#$%"&'
400+ !"#$%&#'
over 1000 ($)#'$%
daily
!"#$ % JIRA<"17"$&$/6
«=6>-2?"0$"& /&./(-"36$(&»
%#&'()*)+* ,#-"'.)'/' &'(0
!"#$ % JIRA<"17"$&$/6
«=6>-2?"0$"& /&./(-"36$(&»
1+(2"3 «4#-,+ - ,#-"'.)5. &'(*., +6.*)*))5* 6# &'-(*7)+* 5 .+)8"»
1+(2"3 «4#-,+ - ,#-"'.)5. &'(*., +6.*)*))5* 6# &'-(*7)+* 5 .+)8"»
+,-&.&*$: 4&6&-32 % cron $&76,8 93-,',
1+(2"3 «4#-,+ - ,#-"'.)5. &'(*., +6.*)*))5* 6# &'-(*7)+* 5 .+)8"»
@6?6 A6$$%B 52$676-86
C3&A"1)&$(& 1$&3 7"0/2
C3&A"1)&$(& 3 jabber ."/-2A$(82
JIRA: dashboard $*"6/#$*
JIRA: dashboard #8&;<)
JIRA: /"=-%'*>/1 /, 4&"*5*%6*
4&"*5*%6: 0#( - ,*?*.(
!
1. 2-.('& 4&"*5*%6?2. 7$- & "*# 5-8&./8-#93. :$#$&58("/( 1
4. 7$- & "*# 5-8&./8-#95. :$#$&58("/( 26. 7$- & "*# 5-8&./8-#97. @*$*%#/#
A6$/0")3 $(#$
B(#$ ,*6-".("
:3054;D2$(51E1,)5"+ 2.> 3+&**6 ;)*+"4"< <
+)%,)F 5$45)
G)*+1%$+, <4B ,+"%$ %"+26, ;)*+"4"< , *)+5($+)% 1 *$+$4)2",
<$&'2*3-),*=, 12-14 -"()*(
http://clck.ru/2_pR
CSEDaysApplication 2010
A0$-'*$/.(#6-( 0)108("/( %*,8*?-6
A0$-'*$/.(#6-( 0)108("/( %*,8*?-6
C(+%(##/-""-( #%*0"("/(
1. C(*6$/0")3 /"#$%&'("$2. 7$- & "*# 5-8&./8-#93. :$#$&58("/( 14. 7$- & "*# 5-8&./8-#9
5. :$#$&58("/( 26. 7$- & "*# 5-8&./8-#97. @*$*%#/#
WTF?
&'()*(+ ,-*. rasp.yandex.ru
«A lot of literature... tended to offer mathematical models... This approach might be mathematically interesting and elegant, but it doesn’t help the operations engineer when he is seeing his site dying under the weight of a link from the front page of Yahoo!, Digg or CNN»
John Allspaw, manager of operations engineering, Flickr.com
9#6.*-"+. ':5;)5< "+6*3 )# ='37*
D/">" 1($(121 + *-#$/0.$/#/1-* 1(#2)B(/"3 3 .2/8(!
&'()*(+ ,-*. rasp.yandex.ru
!34-5*(+ ,-*. rasp.yandex.ru
1.
2.
3.
4.
— EA1($%, 7-(3&/, 1% ?63/-6 7)6$(-2&1 $6
XX% 23&)(0(/: /-6F(8 $6 ./-6$(G2 ZZZ!
— ,-(3&/, 2 $6. &./: YYY-HI8&$A. C8"):8" 16J($"8 $61 $6A" &#& A"./63(/: 0/"H% 0&-&? 76-2 1&.KG&3 "$ $&
276)?
Hits rulezzz! *
* 5"#(" rulezzz 2.> *+"$,5"< 4 ($+)<("%$+(6% 1 ($&*+)<.>$%6% 5+)E1,"% (web, API (!) 1 5.*.)
Performance planning
Capacity planning
1. C(*6$/0")3 /"#$%&'("$2. D%*"/$9 "*?- 0#(3. :$#$&58("/( 14. 7$- & "*# 5-8&./8-#95. :$#$&58("/( 2
6. 7$- & "*# 5-8&./8-#97. @*$*%#/#
+,-&.&*$
>?= 1
MySQL+E)=.6
/bigdisk (1,5 Tb)
t34
H)(,1
target
710$(1
>?= 2
GlusterFS
SSH
HTTP
+,-&.&*$
>?= 1
MySQL+E)=.6
/bigdisk (1,5 Tb)
t34
H)(,1
target
710$(1
>?= 2
GlusterFS
SSH
HTTP
+,-&.&*$
>?= 1
MySQL+E)=.6
/bigdisk (1,5 Tb)
t34
H)(,1
target
710$(1
>?= 2
JIRA & coWeb
GlusterFS
SSH SSH
HTTP
+,-&.&*$: '&-$315+ ,"%*&5$+"< *+),51#$4,1 <" <4$F IJ
Xeon [email protected]/24Gb/4xSATA WD5002ABYS
10 Gb + c*$K1)./(" ()45+"$((6= 4$5$<"= 45$,
+,-&.&*$: 93>2-3
6 /&./"3%B 8)6./&-"3"/ 3 A" 15 16J($"8
!6J($8( -6?$%&, $"(A&$/(0$% production
,"0/( 3.&>A6 3 "A$"1.3(/0& . /6$861(
OpenVZ() ,.)45$+$ 1; 15 E1;1#$4,1F %)01(
1. C(*6$/0")3 /"#$%&'("$2. D%*"/$9 "*?- 0#(3. E%&;/' #- 0#(' 0-6%&+4. 7$- & "*# 5-8&./8-#95. :$#$&58("/( 26. 7$- & "*# 5-8&./8-#9
7. @*$*%#/#
+,-&.&*$! @'6.'A)' (8;B#0 -"3*(0(,# C .+3*
! D3'C06,# - +)-"38.*)"#.+ C E)7*,-*
! Web-7'-"8& - *7+)'< #C"'3+6#F+*<
! G*6#C+-+.'-"2 '" C*)7'3#
! H-,8--"C*))5< 3#68. C)8"3+
! !+.&#"+B)5< C+7 :)
6#/57/%?
=70:>:<?14@A$857BBC$/.857D:E/:8:$14F1?5:>./?;
G&&G&H&I'&JKLM2NL&OPQR
IG&&G&H&
STUVWWG&&G&H&POXYHQRZPQRW
!"#$%&'()*+,-.%/