!"#$%&'#(")$*'&+")"&,"$-./.0$1234560
/$24789:8$-./.$;2<6
=>4252<?7@AB$;:>CCD$E6;:>F2GE2;2$7@37?:256E?8
!"#$%&'()*+,-.%/
01...
! "#$%&'% %'() #*+,-./0#/%
(%'(1,/2*#1%. 34%##/
#*+,-./0#/% 1 14%##/
(%'(1,/2*#1%.
!"#$%&'#()* +&','- :)
."/'*%
0%#)+)&$?!
HP LoadRunner
Apache JMeter
Borland SilkPerformer
Visual Studio LoadTest
ab
pylot
http_load
Siege
Grinder
httperf
Tsung
We...
!"#$%&'("$) "*+%&,-."-+-
$(#$/%-0*"/1
1"2345' 5 -"&"65' *"#7(&8
2-345/( / 6-%-+/( '-"#$%).
7-#$-/"#$0*.
✓ 9:525' +"--'&;5,)'*8< +&"("$"2",
✓ .&"='775"#)23#)> &)?&):"($) 5
7"+&",";-'#5'
✓...
2-345/( / 6-%-+/( '-"#$%).
8(6-#$*$9/.
- D',87"$)> +&"5?,"-5('23#"7(3 load generator
- 9:525' ;'2'?) -2> ,87"$"C #)6&%?$5
...
!"#$%&'("$) "*+%&,-."-+-
$(#$/%-0*"/1
F)2'#3$5' 5 :'7+2)(#8'
*"#7(&8
!"#$%&'($ ( )$*+#",%-$
./%*,0-. 7-#$-/"#$0*.
✓ G?$)> 7+'B5)25?)B5>
✓ 9($&8(8C $"-
✓ E'#)
!"#$%&'($ ( )$*+#",%-$
./%*,0-. 8(6-#$*$9/.
- D',87"$)> +&"5?,"-5('23#"7(3 load generator
- 9:525' ;'2'?) -2> ,87"$"C #)6&...
!"#$%&'("$) "*+%&,-."-+-
$(#$/%-0*"/1
@)*"+57#8' *"#7(&8
1"./+(*%-$ ./%*,0-.
7-#$-/"#$0*.
✓ F)$75*)23#)> ?)("/'##"7(3 +"- ?)-)/5
✓ H7I , ,)45< &%$)<
1"./+(*%-$ ./%*,0-.
8(6-#$*$9/.
- H87"$5' &57$5 +&",)2)
- H"+&"7 -"7(",'&#"7(5 &'?%23()(",
- E'#)
!"#$%&'("$) "*+%&,-."-+-
$(#$/%-0*"/1
F"J#8'K528'
@2";#8' .&"7(8'
HP LoadRunner
Apache JMeter
Borland SilkPerformer
Visual Studio LoadTest
ab
pylot
http_load
Siege
Grinder
httperf
Tsung
We...
HP LoadRunner
Apache JMeter
Borland SilkPerformer
Visual Studio LoadTest
ab
pylot
http_load
Siege
Grinder
httperf
Tsung
We...
23%"+"0'
«Yeah, well... I'm gonna go
build my own theme park,
with blackjack and hookers.
In fact, forget the park!»
Bende...
!"#$%&'("$) "*+%&,-."-+-
$(#$/%-0*"/1
F"J#8'K528'
@2";#8' .&"7(8'
4#"%1. 5%*&(12#67 1#'(,-4%#(
2. 8,*#1() #*$/ 2'%
3. 9,-:14 '/ 2'%41 2/&,-+
4. ;,%$'(*2<%#1% ,%.-<)(*(/2
5. =4#67 *#*<1.
6....
1. :(*9$/0"); /"#$%&'("$
2. <%*"/$4 "*6- 0#(
3. 7%&=/' #- 0#(' 0-9%&+
4. >%(6#$*03("/( %(,&34*$-0
5. ?'"); *"*3/,
6. >-.('...
Phantom
Phantom
L(" 7523#" "+(5*5?5&",)##8C
2'''''6$5C web-7'&,'&,
$"("&8C #)%/527> ?)-),)(3
,"+&"78
Phantom
Phantom, c$#), :87(&8C!
Phantom
~ 30 000 rps
,87"$)> 7():523#"7(3
+"-),)'*"C #)6&%?$5
Phantom
+ gatling
60 000+ rps
Phantom
9/'#3 :87(&8C,
#" "/'#3 +&"7("C
Phantom
!"#$ %
&"'()%"*+
+
,(-*.
&"'()%"
/0,-0
+
%0"0+%0+1"
') 1"23)*4
&"'()%4
Starter
! 56%)$708) $76)# '()9+$: 8";(4&1+
! <-8-("=+. 1)89+;), + '(-34%0"8),1+
! >)33-(21" $76?@ stateless '()0)1)$),
! A...
Phantom
>#,)&3 2008
M)?&"?#'##"' <&)#'#5'
&'?%23()(",: wiki, +"/(), *"?6
4$5"#& :(
9(7%(7(,5' 57("&55
>#,)&3 2008
6*,& 7-8/9!
1. :(*9$/0"); /"#$%&'("$
2. <%*"/$4 "*6- #-0#(' 0#(
3. 7%&=/' #- 0#(' 0-9%&+
4. >%(6#$*03("/( %(,&34*$-0
5. ?'"); *"*3/,
6...
:0"%(,& %"9/
*/7*$. 7*$
A(-*-8" )0,-0),
HTTP-1)3?
E-0-,?- 1)3?
E"*+ )0,-0?
:0"%(,& %"9/
*/7*$. 7*$
F)%0"0)B8)?
D'(, 7",7'* ,7'!
:0"%(,& %"9/
*/7*$. 7*$
>"("*-0(? ("6)0? *+C-8+
E'-=+9+B8?- $);+ %-(,+%"
>"("*-0(? ("6)0? %-0+
...
! G("8-8+- %),%-* ,%-;)
! H89)(*"0+,8?# ,?,)3
! A)&*)28)%0: %*-8? +8%0(4*-80"
! <(4''+(),1" 0-%0), , &"3"B+
!NF
MySQL + 9"...
antom Preproc
),6%7( 2008
4$5"#& :(
!%/) &)?&"?#'##8< ?)-)/
9(7%(7(,5' 7,>?5 7 *5&"*
!&%;"$ +" 5#('&'7)*
),6%7( 2008
6*,& 7-8/9!
1. :(*9$/0"); /"#$%&'("$
2. <%*"/$4 "*6- 0#(
3. 7%&=/' #- 0#(' 0-9%&+
4. >%(6#$*03("/( %(,&34*$-0
5. ?'"); *"*3/,
6. B"&$%...
"/'#3
:"234"C!
I 8"% )B-8: *8);) '()-10), + -J-
6)$:C- $73-#
K8);+* 8428" + ,"28" +89)(*"=+.
) (-&4$:0"0"@ 8";(4&)B8);)
0-%0+(),"8+.
Wiki
@()==
@()(57(5$)
F"#5("&5#65
JIRA
Wiki
E0"99E0"0+%0+1"
K)8+0)(+8;+
JIRA
! /6J+# +8%0(4*-80 ("6)0?
! >)$4B-8+- &"3"B 8" 0-%0+(),"8+-
! E1(?0+- «0-%0-(%1+@» ')3@)3),
! /6%423-8+- (-&4$:0"0), 0-%0)...
JIRA
! A-%: 0"%1-0(-1+8; , JIRA
! L3+8". 0)B1" ,@)3" 3$. ,%-@
! >(+,.&1" &"3"B 1 '()-10"*
! /6*-8 3"88?*+ B-(-& SOAP API
!...
! A M48"'"(1- ')B0+ ,%. +89)(*"=+.
) 2+&8+ ')B0+ ,%-@ '()-10), % 0)B1+
&(-8+. 8";(4&1+
E$*$/#$/9*
F-"/$-%/"+/
! N1%')(0 +89)(*"=++ )
(-&4$:0"0"@ 0-%0),
Wiki
0%#)+)&$
+
Jabber
."/()
...
* ,+3 %) %'408+1" :)
*
"$(>:&3 2008
4$5"#& :(
@(&)4#'#3$5C "# $)$"C-("
@2";#"7(3 ,"7+&5>(5>
5#="&*)B55
"$(>:&3 2008
6*,& 7-8/9!
1. :(*9$/0"); /"#$%&'("$
2. <%*"/$4 "*6- 0#(
3. 7%&=/' #- 0#(' 0-9%&+
4. >%(6#$*03("/( %(,&34*$-0
5. ?'"); *"*3/,
6. B"&$%...
1.AmCharts
B)G-% 60/=9* 631 +%*H/9*
1.AmCharts
B)G-% 60/=9* 631 +%*H/9*
✓ 9/'#3 $&)75,8C 5 =%#$B5"#)23#8C
- F'-2'##8C +&5 :"234"* /572' ("/'$
- F#"6" 6&)=5$", ,*'7(' %:5,)O( $"*+%('&
- P '725 "#...
9($)?)2573
B)G-% 60/=9* 631 +%*H/9*
2.YaCharts
B)G-% 60/=9* 631 +%*H/9*
2.YaCharts
B)G-% 60/=9* 631 +%*H/9*
✓ Q)*'(#" :87(&''
✓ R"+"2#5('23#8' =5/5
- @2";#" +&"+5<5,)(3 #",8' =5/5
- 9(7%(7(,5' #'$"("&8< (5+", 6&)=5$",
B)G-% 60/=9*...
9($)?)2573
B)G-% 60/=9* 631 +%*H/9*
3. Flot
B)G-% 60/=9* 631 +%*H/9*
3. Flot
B)G-% 60/=9* 631 +%*H/9*
✓ 9/'#3 :87(&8C
✓ 1"234"' 7"":J'7(,"
✓ 9/'#3 2'6$" -"+525,)(3
- F'2"/5
B)G-% 60/=9* 631 +%*H/9*
.&5;52"73. M'$"*'#-%O.
http://code.google.com/p/flot/
B)G-% 60/=9* 631 +%*H/9*
I9$/0"); $(#$
C(#$ ,*9-".("
B#J 0'(#$(
- K-"#-349*?
- I 0-$ -"*!
- K-"#-349*?
- I 0-$ -"*!
:(,&34$*$) $(#$*
5O#3 2009
4$5"#& :(
@2";#"7(3 )#)25?) :"234"6"
":S'*) 5#="&*)B55
T"##8 5#="&*)B55 " +&"428<
('7()< +82>(7> :'? -'2)
5O#3 2009
6*,& 7-8/9!
1. :(*9$/0"); /"#$%&'("$
2. <%*"/$4 "*6- 0#(
3. 7%&=/' #- 0#(' 0-9%&+
4. >%(6#$*03("/( %(,&34*$-0
5. ?'"); *"*3/,
6. B"&$%...
;#3+-. )-,&
+#/8/!
<.%-. )-,&
8/0/=/!
I0$-'*$/.(#9-( 0)103("/(
%*,3*6-9
I0$-'*$/.(#9-( 0)103("/( %*,3*6-9
>)%"03?$%($ @"'," %"#(5(A "%/."#((
1. M)7/'( 8 ?#)/'#5C +" 7()(57(5/'7$5* *'("-)*:
• R,'...
I0$-'*$/.(#9-( 0)103("/( %*,3*6-9
12"$ 1
✓ 2 7()(57(5$5
1)C'7)
✓ @()(57(5$) #)
"7#",' "(#"4'#5>
+&),-"+"-":5C
✓ @()(57(5$)...
I0$-'*$/.(#9-( 0)103("/( %*,3*6-9
I0$-'*$/.(#9-( 0)103("/( %*,3*6-9
9:%/'#5' #) 500 &)?*'/'##8< ('7()<
.&5 )#)25?' 57+"23?%'(7> ,&'*> "(,'(),
HTTP- 5 7'(',8' $"-8 "(,'(",
T"/#"7(3 ":#)&%;'#5...
;(#&B-
A-'#(5=5$)("& -2> 6&%++8 ?)+&"7", , &)*$)< ('7()
."2%/'#5' 7()(57(5$5 +" 2O:"C
$"*:5#)B55 6523?
D)+&5*'&, ,7I
$&"*'...
:(+%(##/-""-( #%*0"("/(
B-#$*"-03("/( #$%&9$&%)
,*A%-#-0 /, A*$%-"-0
D)+&5*'&, ,"( ()$:
/route_jams/?origin=
(jsRouter,maps,reload,xmlRouter)&
[rl...
?'"); @&"*A*%9
*)C 2010
@#",) *#"6" 5#="&*)B55
F'7()*5 5#('&='C7
#'"+(5*)2'#
*)C 2010
4$5"#& :(
6*,& 7-8/9!
L$/' ') #(;.*# /
,*"/'*('#1 :)
L$/' ') #(;.*# /
,*"/'*('#1 :)
! H8-'2'#5' 62),#"C
5#="&*)B55 ,
?),575*"7(5 "( (5+)
('7() 5 &'?%23)(",
!9+(5*5?)B5>
5#('&=...
1. :(*9$/0"); /"#$%&'("$
2. <%*"/$4 "*6- 0#(
3. 7%&=/' #- 0#(' 0-9%&+
4. >%(6#$*03("/( %(,&34*$-0
5. ?'"); *"*3/,
6. B"&$%...
23%"+"0'
!NF 1
MySQL+=)C28
/bigdisk (1,5Tb)
t34
T)#$5
target
F54'#5
GlusterFS
SSH
HTTP
23%"+"0'
!NF 1
MySQL+=)C28
/bigdisk (1,5Tb)
t34
T)#$5
target
F54'#5
GlusterFS
SSH
HTTP
23%"+"0'
!NF 1
MySQL+=)C28
/bigdisk (1,5Tb)
t34
T)#$5
target
F54'#5
JIRA & coWeb
GlusterFS
SSH SSH
HTTP
23%"+"0': ,"%'(
15 $"*+%('&", +&)$(5/'7$5 ," ,7'< RE
Xeon E5530@2.40GHz/24Gb/4xSATA WD5002ABYS
@+'B5)23#" #)7(&"'##8C 7'('...
23%"+"0': .(=$%(
6 ('7(",8< $2)7('&",
"( 3 -" 15 *)45#"$
F)45#$5 &)?#8', #"
5-'#(5/#8 production
."/(5 ,7'6-) , "-#"*
7,5(...
D(0,3"#(B"E(A
OpenVZ#) $2)7('&' 5? 15 =5?5/'7$5< *)45#
✓ @$"&"7(3 *"-5=5$)B55 $2)7('&)
✓ 0'6$5C :V$)+ +&'-8-%J'6" &'25?)
✓...
1. :(*9$/0"); /"#$%&'("$
2. <%*"/$4 "*6- 0#(
3. 7%&=/' #- 0#(' 0-9%&+
4. >%(6#$*03("/( %(,&34*$-0
5. ?'"); *"*3/,
6. >-.('...
23%"+"0'
! A)&*)28) $4BC". %0(-$.$1" , *+(-
! >(),.&1" % +8%0(4*-80"*+ , O83-1%-
!Web-3)%04' % -3+8)# ",0)(+&"=+-#
! P-&",...
D/+0/*-?
F"
G/C9" phantom
7-#/?", 7
opensource
G"' ,/#&'/ 0$)A,"
9/+(=3, +/99$0?'3
FastCGI :)
*starter+phantom+preproc+mysql edition
=>4252<?7@AB$;:>CCD$E6;:>F2GE2;2$
7@37?:256E?8
//H.-/0$=233?80$1234560
>AI$JB56$K2A372;20$/L
MN$OPHQR$NSHT..T..
MN$OPHQR$N...
Андрей Кузьмичев – Танки в Лунапарке: нагрузочное тестирование в Яндексе
Андрей Кузьмичев – Танки в Лунапарке: нагрузочное тестирование в Яндексе
Андрей Кузьмичев – Танки в Лунапарке: нагрузочное тестирование в Яндексе
Андрей Кузьмичев – Танки в Лунапарке: нагрузочное тестирование в Яндексе
Андрей Кузьмичев – Танки в Лунапарке: нагрузочное тестирование в Яндексе
Андрей Кузьмичев – Танки в Лунапарке: нагрузочное тестирование в Яндексе
Upcoming SlideShare
Loading in...5
×

Андрей Кузьмичев – Танки в Лунапарке: нагрузочное тестирование в Яндексе

842

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
842
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Андрей Кузьмичев – Танки в Лунапарке: нагрузочное тестирование в Яндексе

  1. 1. !"#$%&'#(")$*'&+")"&,"$-./.0$1234560 /$24789:8$-./.$;2<6 =>4252<?7@AB$;:>CCD$E6;:>F2GE2;2$7@37?:256E?8 !"#$%&'()*+,-.%/ 01"2-'/'3)"141$2%5' "16$)*7."7%'8%98-$7/1"-%'/' :"#%29%
  2. 2. ! "#$%&'% %'() #*+,-./0#/% (%'(1,/2*#1%. 34%##/ #*+,-./0#/% 1 14%##/ (%'(1,/2*#1%. !"#$%&'#()* +&','- :)
  3. 3. ."/'*% 0%#)+)&$?!
  4. 4. HP LoadRunner Apache JMeter Borland SilkPerformer Visual Studio LoadTest ab pylot http_load Siege Grinder httperf Tsung WebLOAD Rational PerformanceTester Load Impact
  5. 5. !"#$%&'("$) "*+%&,-."-+- $(#$/%-0*"/1 1"2345' 5 -"&"65' *"#7(&8
  6. 6. 2-345/( / 6-%-+/( '-"#$%). 7-#$-/"#$0*. ✓ 9:525' +"--'&;5,)'*8< +&"("$"2", ✓ .&"='775"#)23#)> &)?&):"($) 5 7"+&",";-'#5' ✓ @'&3'?#8' 5#7(&%*'#(8 -2> )#)25?) ✓ A#('6&)B5> 7" ,7'C 25#'C$"C
  7. 7. 2-345/( / 6-%-+/( '-"#$%). 8(6-#$*$9/. - D',87"$)> +&"5?,"-5('23#"7(3 load generator - 9:525' ;'2'?) -2> ,87"$"C #)6&%?$5 - @2";#"7(3 5#7(&%*'#() - .&5,>?)##"7(3 $ ,'#-"&% -Windows-"&5'#(5&",)##8' - Offline-"&5'#(5&",)##8' - E'#)
  8. 8. !"#$%&'("$) "*+%&,-."-+- $(#$/%-0*"/1 F)2'#3$5' 5 :'7+2)(#8' *"#7(&8
  9. 9. !"#$%&'($ ( )$*+#",%-$ ./%*,0-. 7-#$-/"#$0*. ✓ G?$)> 7+'B5)25?)B5> ✓ 9($&8(8C $"- ✓ E'#)
  10. 10. !"#$%&'($ ( )$*+#",%-$ ./%*,0-. 8(6-#$*$9/. - D',87"$)> +&"5?,"-5('23#"7(3 load generator - 9:525' ;'2'?) -2> ,87"$"C #)6&%?$5 - G?$)> 7+'B5)25?)B5> - 9(7%(7(,5' )#)25?) - Offline-"&5'#(5&",)##"7(3
  11. 11. !"#$%&'("$) "*+%&,-."-+- $(#$/%-0*"/1 @)*"+57#8' *"#7(&8
  12. 12. 1"./+(*%-$ ./%*,0-. 7-#$-/"#$0*. ✓ F)$75*)23#)> ?)("/'##"7(3 +"- ?)-)/5 ✓ H7I , ,)45< &%$)<
  13. 13. 1"./+(*%-$ ./%*,0-. 8(6-#$*$9/. - H87"$5' &57$5 +&",)2) - H"+&"7 -"7(",'&#"7(5 &'?%23()(", - E'#)
  14. 14. !"#$%&'("$) "*+%&,-."-+- $(#$/%-0*"/1 F"J#8'K528' @2";#8' .&"7(8'
  15. 15. HP LoadRunner Apache JMeter Borland SilkPerformer Visual Studio LoadTest ab pylot http_load Siege Grinder httperf Tsung WebLOAD Rational PerformanceTester Load Impact
  16. 16. HP LoadRunner Apache JMeter Borland SilkPerformer Visual Studio LoadTest ab pylot http_load Siege Grinder httperf Tsung WebLOAD Rational PerformanceTester Load Impact
  17. 17. 23%"+"0' «Yeah, well... I'm gonna go build my own theme park, with blackjack and hookers. In fact, forget the park!» Bender, Futurama
  18. 18. !"#$%&'("$) "*+%&,-."-+- $(#$/%-0*"/1 F"J#8'K528' @2";#8' .&"7(8'
  19. 19. 4#"%1. 5%*&(12#67 1#'(,-4%#( 2. 8,*#1() #*$/ 2'% 3. 9,-:14 '/ 2'%41 2/&,-+ 4. ;,%$'(*2<%#1% ,%.-<)(*(/2 5. =4#67 *#*<1. 6. !#-(,%##%% -'(,/7'(2/ 7. ;/(/4- 0(/ >-#*?*,&!
  20. 20. 1. :(*9$/0"); /"#$%&'("$ 2. <%*"/$4 "*6- 0#( 3. 7%&=/' #- 0#(' 0-9%&+ 4. >%(6#$*03("/( %(,&34*$-0 5. ?'"); *"*3/, 6. >-.('& @&"*A*%9?
  21. 21. Phantom
  22. 22. Phantom L(" 7523#" "+(5*5?5&",)##8C 2'''''6$5C web-7'&,'&, $"("&8C #)%/527> ?)-),)(3 ,"+&"78
  23. 23. Phantom Phantom, c$#), :87(&8C!
  24. 24. Phantom ~ 30 000 rps ,87"$)> 7():523#"7(3 +"-),)'*"C #)6&%?$5
  25. 25. Phantom + gatling 60 000+ rps
  26. 26. Phantom 9/'#3 :87(&8C, #" "/'#3 +&"7("C
  27. 27. Phantom !"#$ % &"'()%"*+ + ,(-*. &"'()%" /0,-0 + %0"0+%0+1" ') 1"23)*4 &"'()%4
  28. 28. Starter ! 56%)$708) $76)# '()9+$: 8";(4&1+ ! <-8-("=+. 1)89+;), + '(-34%0"8),1+ ! >)33-(21" $76?@ stateless '()0)1)$), ! A?%)B"#C". '()+&,)3+0-$:8)%0: ! D",8)*-(8)%0: %)&3"8+. 8";(4&1+ Phant
  29. 29. Phantom
  30. 30. >#,)&3 2008
  31. 31. M)?&"?#'##"' <&)#'#5' &'?%23()(",: wiki, +"/(), *"?6 4$5"#& :( 9(7%(7(,5' 57("&55 >#,)&3 2008
  32. 32. 6*,& 7-8/9!
  33. 33. 1. :(*9$/0"); /"#$%&'("$ 2. <%*"/$4 "*6- #-0#(' 0#( 3. 7%&=/' #- 0#(' 0-9%&+ 4. >%(6#$*03("/( %(,&34*$-0 5. ?'"); *"*3/, 6. >-.('& @&"*A*%9? 7. >-$-'& .$- @&"*A*%9!
  34. 34. :0"%(,& %"9/ */7*$. 7*$ A(-*-8" )0,-0), HTTP-1)3? E-0-,?- 1)3? E"*+ )0,-0?
  35. 35. :0"%(,& %"9/ */7*$. 7*$ F)%0"0)B8)? D'(, 7",7'* ,7'!
  36. 36. :0"%(,& %"9/ */7*$. 7*$ >"("*-0(? ("6)0? *+C-8+ E'-=+9+B8?- $);+ %-(,+%" >"("*-0(? ("6)0? %-0+ ...
  37. 37. ! G("8-8+- %),%-* ,%-;) ! H89)(*"0+,8?# ,?,)3 ! A)&*)28)%0: %*-8? +8%0(4*-80" ! <(4''+(),1" 0-%0), , &"3"B+ !NF MySQL + 9"#$? Preprocntom
  38. 38. antom Preproc
  39. 39. ),6%7( 2008
  40. 40. 4$5"#& :( !%/) &)?&"?#'##8< ?)-)/ 9(7%(7(,5' 7,>?5 7 *5&"* !&%;"$ +" 5#('&'7)* ),6%7( 2008
  41. 41. 6*,& 7-8/9!
  42. 42. 1. :(*9$/0"); /"#$%&'("$ 2. <%*"/$4 "*6- 0#( 3. 7%&=/' #- 0#(' 0-9%&+ 4. >%(6#$*03("/( %(,&34*$-0 5. ?'"); *"*3/, 6. B"&$%(""(( &#$%-;#$0- 7. >-$-'& .$- @&"*A*%9!
  43. 43. "/'#3 :"234"C!
  44. 44. I 8"% )B-8: *8);) '()-10), + -J- 6)$:C- $73-# K8);+* 8428" + ,"28" +89)(*"=+. ) (-&4$:0"0"@ 8";(4&)B8);) 0-%0+(),"8+.
  45. 45. Wiki @()== @()(57(5$) F"#5("&5#65 JIRA
  46. 46. Wiki E0"99E0"0+%0+1" K)8+0)(+8;+ JIRA
  47. 47. ! /6J+# +8%0(4*-80 ("6)0? ! >)$4B-8+- &"3"B 8" 0-%0+(),"8+- ! E1(?0+- «0-%0-(%1+@» ')3@)3), ! /6%423-8+- (-&4$:0"0), 0-%0), JIRA
  48. 48. JIRA ! A-%: 0"%1-0(-1+8; , JIRA ! L3+8". 0)B1" ,@)3" 3$. ,%-@ ! >(+,.&1" &"3"B 1 '()-10"* ! /6*-8 3"88?*+ B-(-& SOAP API ! 8C 9*9 D$*A =/,"/ A%-(9$*
  49. 49. ! A M48"'"(1- ')B0+ ,%. +89)(*"=+. ) 2+&8+ ')B0+ ,%-@ '()-10), % 0)B1+ &(-8+. 8";(4&1+ E$*$/#$/9* F-"/$-%/"+/
  50. 50. ! N1%')(0 +89)(*"=++ ) (-&4$:0"0"@ 0-%0), Wiki
  51. 51. 0%#)+)&$ + Jabber ."/() ...
  52. 52. * ,+3 %) %'408+1" :) *
  53. 53. "$(>:&3 2008
  54. 54. 4$5"#& :( @(&)4#'#3$5C "# $)$"C-(" @2";#"7(3 ,"7+&5>(5> 5#="&*)B55 "$(>:&3 2008
  55. 55. 6*,& 7-8/9!
  56. 56. 1. :(*9$/0"); /"#$%&'("$ 2. <%*"/$4 "*6- 0#( 3. 7%&=/' #- 0#(' 0-9%&+ 4. >%(6#$*03("/( %(,&34*$-0 5. ?'"); *"*3/, 6. B"&$%(""(( &#$%-;#$0- 7. >-$-'& .$- @&"*A*%9!
  57. 57. 1.AmCharts B)G-% 60/=9* 631 +%*H/9*
  58. 58. 1.AmCharts B)G-% 60/=9* 631 +%*H/9*
  59. 59. ✓ 9/'#3 $&)75,8C 5 =%#$B5"#)23#8C - F'-2'##8C +&5 :"234"* /572' ("/'$ - F#"6" 6&)=5$", ,*'7(' %:5,)O( $"*+%('& - P '725 "#5 'J' 5 ":#",2>O(7> online, ("... B)G-% 60/=9* 631 +%*H/9*
  60. 60. 9($)?)2573 B)G-% 60/=9* 631 +%*H/9*
  61. 61. 2.YaCharts B)G-% 60/=9* 631 +%*H/9*
  62. 62. 2.YaCharts B)G-% 60/=9* 631 +%*H/9*
  63. 63. ✓ Q)*'(#" :87(&'' ✓ R"+"2#5('23#8' =5/5 - @2";#" +&"+5<5,)(3 #",8' =5/5 - 9(7%(7(,5' #'$"("&8< (5+", 6&)=5$", B)G-% 60/=9* 631 +%*H/9*
  64. 64. 9($)?)2573 B)G-% 60/=9* 631 +%*H/9*
  65. 65. 3. Flot B)G-% 60/=9* 631 +%*H/9*
  66. 66. 3. Flot B)G-% 60/=9* 631 +%*H/9*
  67. 67. ✓ 9/'#3 :87(&8C ✓ 1"234"' 7"":J'7(," ✓ 9/'#3 2'6$" -"+525,)(3 - F'2"/5 B)G-% 60/=9* 631 +%*H/9*
  68. 68. .&5;52"73. M'$"*'#-%O. http://code.google.com/p/flot/ B)G-% 60/=9* 631 +%*H/9*
  69. 69. I9$/0"); $(#$
  70. 70. C(#$ ,*9-".("
  71. 71. B#J 0'(#$(
  72. 72. - K-"#-349*? - I 0-$ -"*!
  73. 73. - K-"#-349*? - I 0-$ -"*!
  74. 74. :(,&34$*$) $(#$*
  75. 75. 5O#3 2009
  76. 76. 4$5"#& :( @2";#"7(3 )#)25?) :"234"6" ":S'*) 5#="&*)B55 T"##8 5#="&*)B55 " +&"428< ('7()< +82>(7> :'? -'2) 5O#3 2009
  77. 77. 6*,& 7-8/9!
  78. 78. 1. :(*9$/0"); /"#$%&'("$ 2. <%*"/$4 "*6- 0#( 3. 7%&=/' #- 0#(' 0-9%&+ 4. >%(6#$*03("/( %(,&34*$-0 5. ?'"); *"*3/, 6. B"&$%(""(( &#$%-;#$0- 7. >-$-'& .$- @&"*A*%9!
  79. 79. ;#3+-. )-,& +#/8/!
  80. 80. <.%-. )-,& 8/0/=/!
  81. 81. I0$-'*$/.(#9-( 0)103("/( %*,3*6-9
  82. 82. I0$-'*$/.(#9-( 0)103("/( %*,3*6-9 >)%"03?$%($ @"'," %"#(5(A "%/."#(( 1. M)7/'( 8 ?#)/'#5C +" 7()(57(5/'7$5* *'("-)*: • R,' 7()(57(5$5 1)C'7) • R,' 7()(57(5$5 #) "7#",' "(#"4'#5> +&),-"+"-":5C (*)$75*%* +&),-"+"-":5>) • T&5 7()(57(5$5 #) "7#",' 7'6*'#()B55 (7$&8(8' *)&$",7$5' *"-'25), "(25/)OJ5'7> #"&*5&",$)*5 • 9-#) 7()(57(5$) #) "7#",' 2"$)23#"C ,)&5)B55 (7$"23?>J'' 7&'-#'') 2. U725 :"2'' /'(8&'< *'("-", -)O( +"2";5('23#8C "(,'( " #)25/55 )#"*)255, 7/5()'(7>, /(" )#"*)25> '7(3
  83. 83. I0$-'*$/.(#9-( 0)103("/( %*,3*6-9 12"$ 1 ✓ 2 7()(57(5$5 1)C'7) ✓ @()(57(5$) #) "7#",' "(#"4'#5> +&),-"+"-":5C ✓ @()(57(5$) @(3O-'#() 12"$ 2 ✓ 3 7()(57(5$5 #) "7#",' 7'6*'#()B55 ,&'*'##"6" &>-) +"$)?)#5C 12"$ 3 ✓ 1 7()(57(5$) #) "7#",' 2"$)23#"C ,)&5)B55 >)%"03?$%($ 0"B#"9'( Q#)/'#5' "( $);-"6" :2"$) - ,"?*";#8' *"*'#(8 ,"?#5$#",'#5> &)?2)-$5.
  84. 84. I0$-'*$/.(#9-( 0)103("/( %*,3*6-9
  85. 85. I0$-'*$/.(#9-( 0)103("/( %*,3*6-9
  86. 86. 9:%/'#5' #) 500 &)?*'/'##8< ('7()< .&5 )#)25?' 57+"23?%'(7> ,&'*> "(,'(), HTTP- 5 7'(',8' $"-8 "(,'(", T"/#"7(3 ":#)&%;'#5> &)?2)-$5 /'/#/ 97% +&5 ,'&">(#"7(5 #/?%/C/ *0")",-7"%(A <1% .2)#", +" 57+"23?",)#5O % #)7 $%/), ,#'-&>'* , )-*5#57(&5&",)#55 I0$-'*$/.(#9-( 0)103("/( %*,3*6-9
  87. 87. ;(#&B- A-'#(5=5$)("& -2> 6&%++8 ?)+&"7", , &)*$)< ('7() ."2%/'#5' 7()(57(5$5 +" 2O:"C $"*:5#)B55 6523? D)+&5*'&, ,7I $&"*' *"&-8, ?)+&"7", $ +)&(#'&)* 5 +'&'7)-"$
  88. 88. :(+%(##/-""-( #%*0"("/(
  89. 89. B-#$*"-03("/( #$%&9$&%) ,*A%-#-0 /, A*$%-"-0 D)+&5*'&, ,"( ()$: /route_jams/?origin= (jsRouter,maps,reload,xmlRouter)& [rll=*]&[output=geometry]&[via=*] &[mode=jams]&[reloadgraph=diff] L(" +"?,"2>'( -2> "/'#3 7()&8< ('7(", #' <&)#5(3 ,7' ?)+&"78 as is.
  90. 90. ?'"); @&"*A*%9
  91. 91. *)C 2010
  92. 92. @#",) *#"6" 5#="&*)B55 F'7()*5 5#('&='C7 #'"+(5*)2'# *)C 2010 4$5"#& :(
  93. 93. 6*,& 7-8/9!
  94. 94. L$/' ') #(;.*# / ,*"/'*('#1 :)
  95. 95. L$/' ') #(;.*# / ,*"/'*('#1 :) ! H8-'2'#5' 62),#"C 5#="&*)B55 , ?),575*"7(5 "( (5+) ('7() 5 &'?%23)(", !9+(5*5?)B5> 5#('&='C7)
  96. 96. 1. :(*9$/0"); /"#$%&'("$ 2. <%*"/$4 "*6- 0#( 3. 7%&=/' #- 0#(' 0-9%&+ 4. >%(6#$*03("/( %(,&34*$-0 5. ?'"); *"*3/, 6. B"&$%(""(( &#$%-;#$0- 7. >-$-'& .$- @&"*A*%9!
  97. 97. 23%"+"0' !NF 1 MySQL+=)C28 /bigdisk (1,5Tb) t34 T)#$5 target F54'#5 GlusterFS SSH HTTP
  98. 98. 23%"+"0' !NF 1 MySQL+=)C28 /bigdisk (1,5Tb) t34 T)#$5 target F54'#5 GlusterFS SSH HTTP
  99. 99. 23%"+"0' !NF 1 MySQL+=)C28 /bigdisk (1,5Tb) t34 T)#$5 target F54'#5 JIRA & coWeb GlusterFS SSH SSH HTTP
  100. 100. 23%"+"0': ,"%'( 15 $"*+%('&", +&)$(5/'7$5 ," ,7'< RE Xeon E5530@2.40GHz/24Gb/4xSATA WD5002ABYS @+'B5)23#" #)7(&"'##8C 7'(',"C 7('$
  101. 101. 23%"+"0': .(=$%( 6 ('7(",8< $2)7('&", "( 3 -" 15 *)45#"$ F)45#$5 &)?#8', #" 5-'#(5/#8 production ."/(5 ,7'6-) , "-#"* 7,5(/' 7 ()#$)*5
  102. 102. D(0,3"#(B"E(A OpenVZ#) $2)7('&' 5? 15 =5?5/'7$5< *)45# ✓ @$"&"7(3 *"-5=5$)B55 $2)7('&) ✓ 0'6$5C :V$)+ +&'-8-%J'6" &'25?) ✓ F)$75*)23#)> +&"?&)/#"7(3 $"#('C#'&) - D'+&56"-#) -2> 7,'&<,87"$"#)6&%;'##8< 7'&,57",
  103. 103. 1. :(*9$/0"); /"#$%&'("$ 2. <%*"/$4 "*6- 0#( 3. 7%&=/' #- 0#(' 0-9%&+ 4. >%(6#$*03("/( %(,&34*$-0 5. ?'"); *"*3/, 6. >-.('& @&"*A*%9? 7. >-$-'& .$- @&"*A*%9!
  104. 104. 23%"+"0' ! A)&*)28) $4BC". %0(-$.$1" , *+(- ! >(),.&1" % +8%0(4*-80"*+ , O83-1%- !Web-3)%04' % -3+8)# ",0)(+&"=+-# ! P-&",+%+*)%0: )0 ,-83)(" ! H%14%%0,-88?# ("&4* ,840(+ ! E+*'"0+C8?# ,+3 :)
  105. 105. D/+0/*-?
  106. 106. F"
  107. 107. G/C9" phantom 7-#/?", 7 opensource
  108. 108. G"' ,/#&'/ 0$)A," 9/+(=3, +/99$0?'3 FastCGI :) *starter+phantom+preproc+mysql edition
  109. 109. =>4252<?7@AB$;:>CCD$E6;:>F2GE2;2$ 7@37?:256E?8 //H.-/0$=233?80$1234560 >AI$JB56$K2A372;20$/L MN$OPHQR$NSHT..T.. MN$OPHQR$NSHTN.TN.$U$V643 W%%W%X%YZ%&["T#"%]I)^ (_`abbW%%W%X%I]'cX)^dI)^b !"#$%&'()*+,-.%/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×