Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Controlling the Addiction: Best Practices for Scaling with Memcached and the LAMP Stack

3,780 views

Published on

Dynamic consumer content on the Web is straining the LAMP stack and demands a new caching tier for maximum scale. Take a hit of Memcached and the sky's the scalability limit, but be careful not to overdose. This presentation offers best practices and gotcha's for scaling LAMP-based sites with open technologies like Memcached.

Published in: Technology, Health & Medicine
  • Be the first to comment

Controlling the Addiction: Best Practices for Scaling with Memcached and the LAMP Stack

  1. 1. !"#$%"&&'#()$*+),--'./"#0) !"#$%&'()*)"#%+,'%-)(./01%2/$3% 4"5)()3"6%7%$3"%894&%-$():%% 1"234'#)54'6) 7+2%8) 9:;);%"-4.$<) ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% B%
  2. 2. =*+)>+?0)>*2$@<)!*2#(+-A) BG! &,H>.(*,0% ;G! I'(J)% <G! D,0$"0$%7%9HH./)(*,0#% ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% ;%
  3. 3. >+?)7%"B$*0);"C4&2/"#) •! K,''"#$"'F%;G;%L/../,0%H",H."%,0./0"%1.,L(..?%L?%;@B<% ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% <%
  4. 4. >+?)7%"B$*0)=%2D.) !'<."0)) •! M,##42&)(&"?2&)E;)$%2D.) B'&&)+F.++-)$B"G$*'%-<)"H)2) 6+I2?J$+)K88L)+F2?J$+<M)'#) H"4%)J+2%<)KNOPQMR) –! !"#$%&'"#()*&+,-.%/0"12& 314,56&7&8(1,&9::7& ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% N%
  5. 5. >+?)7%"B$*0),CC&'.2/"#)S)!"#$+#$) ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% O%
  6. 6. 7%"B$*).2#)?+)C2'#H4&) PQRSTU% ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% V%
  7. 7. >+?),%.*'$+.$4%+) !!%4,#$%#/$"#%P,["'%VO`U%L(#"6%,0%894&%,'%=9Q9%% !!%X06>#$'?%#$(06('6%#"'["'#%'"H.()"6%H',H'/"$('?%-4&% !!%-3/a%$,%W?0(5/)%D,0$"0$%H>$#%#$'(/0%,0%,'/1/0%#/$"#% Z"L%-$():% E"$% X0$"'+()"% -$,'(1"% D./"0$#% 9H()3"%E1/0Y%8/13]H6% &^&%=([(%S(/.#%D%&"'.% 4?-_8%&,#$1'"-_8%% X0$"'0"$% Z"L%-"'["'#% 9HH%-"'["'#% W($(L(#"% &?$3,0% &',Y?% DWE% 8,(6% !(.(0)"'% ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% b%
  8. 8. >*2$)$")-"A) D()3"% D9D^R% D9D^Rc% ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% d%
  9. 9. T+B)!2.*'#(),%.*'$+.$4%+) H"%)U.2&'#()V4$)) Z"L%-$():% E"$% X0$"'+()"% -$,'(1"% D./"0$#% 9H()3"%E1/0Y%8/13]H6% &^&%=([(%S(/.#%D%&"'.% 4?-_8%&,#$1'"-_8%% X0$"'0"$% Z"L%-"'["'#% 9HH%-"'["'#% W($(L(#"% &?$3,0% &',Y?% DWE% 8,(6% !(.(0)"'% D()3"%-"'["'#% 5"5)()3"6% ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% A%
  10. 10. W+X.2.*+-0);'&&2%)"H)>+?)NYO) ,%.*'$+.$4%+) MR["'?$3/01%'>0#%+',5% 4"5,'?%/0%Z"L%;G@e% –! R[(0%Z"(["'%I2/]"'%4(')3%;@@A% ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% B@%
  11. 11. =*+)Z'F0)W+X.2.*+-) M4"5)()3"6%/#%(%3/13fH"'+,'5(0)"%6/#$'/L>$"6% 5"5,'?%,Lg")$%)()3/01%#?#$"5%1"0"'/)%/0% 0($>'"%L>$%/0$"06"6%+,'%>#"%/0%#H""6/01%>H% 6?0(5/)%2"L%(HH./)(*,0#%L?%(.."[/(*01% 6($(L(#"%.,(6e%h%6(01(G),5% ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% BB%
  12. 12. >*2$)W+X.2.*+-)'<)TV=0) •! 9%H"'#/#$"0$%6($(%#$,'"% •! 9%6($(L(#"% •! 9HH./)(*,0%#H")/i)% •! D.>#$"'"6% •! 9%.('1"%,Lg")$%)()3"% ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% B;%
  13. 13. ,)[F).2#)?+."X+)2#)2--'./"#) ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% B<%
  14. 14. 9"&4/"#)"H)2)]J#2X'.)U'$+)^P) ;&4)<&"1&-=,&*">,&%>&)&2/%."12&.,?&#,/@"$,) •! R["0$F%-/$"%3(#%1',2$3%/0%0>5L"'%,+%>#"'#j#"##/,0#jH(1"%[/"2#j(HH#% )(>#/01%"Y)"##/["%'"(6%.,(6%,0%W!% •! 9)*,0F%S"H./)($"%W($(L(#"%P(06j,'%(66%5,'"%(HH%#"'["'#U% 9HH%-"'["'% 9HH%-"'["'% 9HH%-"'["'% 9HH%-"'["'% 9HH%-"'["'% 9HH%-"'["'% 9HH%-"'["'% 9HH%-"'["'% 9HH%-"'["'% write! write! k% write! 4?-_8% 4?-_8% 4?-_8% ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% BN%
  15. 15. 9"&4/"#)"H)2)]J#2X'.)U'$+)^N) ;&4)<&"1&-=,&*">,&%>&)&2/%."12&.,?&#,/@"$,) •! R["0$F%314"@"4()*&$)$=,#%,0%$3"%(HHj6L%#"'["'#%('"%,["'23".5"6%+',5% )3(,*)j0,0f6"$"'5/0/#*)%),0$"0$%())"##% •! 9)*,0F%966%5"5)()3"6%#"'["'%,0%#"'["'#%2/$3%>06"'>*./l"6%5"5,'?% '"#,>')"#k%'"#>.$#%/0%"["0%+"2"'%'"(6#%$,%6L% 5"5)()3"6% 5"5)()3"6% 5"5)()3"6% 9HH%-"'["'% 9HH%-"'["'% 9HH%-"'["'% 9HH%-"'["'% 9HH%-"'["'% 9HH%-"'["'% 5"5)()3"6% 5"5)()3"6% 5"5)()3"6% 9HH%-"'["'% 9HH%-"'["'% 9HH%-"'["'% 9HH%-"'["'% 9HH%-"'["'% 9HH%-"'["'% write! k% write! write! k% write! 4?-_8% 4?-_8% 4?-_8% 4?-_8% ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% BO%
  16. 16. 9"&4/"#)"H)2)]J#2X'.)U'$+)^Q) ;&4)<&"1&-=,&*">,&%>&)&2/%."12&.,?&#,/@"$,) •! R["0$F%4"5)()3"6%0""6#%5,'"%5"5,'?%'"#,>')"#%$3(0%23($%/#%([(/.(L."% ,0%,$3"'%P#3('"6U%#"'["'#% •! 9)*,0F%4,["%5"5)()3"6%#"'["'#%$,%6"6/)($"6%#"'["'#% 9HH%-"'["'% 9HH%-"'["'% 9HH%-"'["'% 5"5)()3"6% 5"5)()3"6% 5"5)()3"6% 9HH%-"'["'% 9HH%-"'["'% 9HH%-"'["'% 9HH%-"'["'% 9HH%-"'["'% 9HH%-"'["'% 5"5)()3"6% 5"5)()3"6% 5"5)()3"6% 9HH%-"'["'% 9HH%-"'["'% 9HH%-"'["'% 5"5)()3"6% 5"5)()3"6% k% 5"5)()3"6% write! k% write! write! k% write! 4?-_8% 4?-_8% 4?-_8% 4?-_8% ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% BV%
  17. 17. ;"C4&2%)_<+)!2<+<) •! 4?-_8%6/#$'/L>$"6%)()3"% –! `=*+)?+<$)B2J)$")<C++-)4C)WJUab)'<)#"$)$")4<+) '$R)]+H+#<'"% •! &',i."%)()3"% –! &',[/6"%'(H/6%),0$"0$%$('1"*01% •! -"##/,0%)()3"% –! ->HH,'$#%'(H/6%/0$"'()*["%(HH./)(*,0#%PX4U% •! ^I48%)()3"% –! W"./["'#%m>/):%#/$"%'"06"'/01% ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% Bb%
  18. 18. _<+)!2<+)9F2XC&+0) U+<<'"#)W2#2(+X+#$) •! N5n%6(/.?%[/#/$,'#% •! BO:%3/$#j#")% •! V:%>H6($"#j#")% •! I"0#%,+%$3,>#(06#% ),0)>''"0$% ),00")*,0#% •! -"##/,0%$'():"6%(06% (6#%('"%H.()"6%/0% ()),'6(0)"%$,%#"##/,0%
  19. 19. _<+)!2<+)9F2XC&+0) _<+%)=2%(+/#()9#('#+) S"),55"06(*,0#%,0% o#"'%2"LH(1"#% o#"'%I('1"*01%-"'[/)"% o#"'%I('1"*01%-"'[/)"% 4"5)()3"6% o#"'%I('1"*01%-"'[/)"% H,,.% I3/0j+(#$%5"5)()3"% D./"0$%.(?"'%P'"(6#U% I3/0j+(#$%5"5)()3"% D./"0$%.(?"'%P'"(6#U% I3/0j+(#$%5"5)()3"% D./"0$%.(?"'%P'"(6#U% oH6($"%H',)"##/01% Z"L#"'["'%j%H3H% P2'/$"#U% oH6($"%H',)"##/01% !>.:jL($)3% 8,(6%!(.(0)"'% P2'/$"#U% >H6($"#% oH6($"%H',)"##/01% 8,(6%!(.(0)"'% 8,(6%!(.(0)"'% P2'/$"#U% M8(l?e%oH6($"#% ^(6,,H% 4(HjS"6>)"%=,L#% o#"'%$('1"*01%6($(% W($(%H',)"##/01% K',5%.,1#%(06%,$3"'% #?#$"5#% o#"'%H',i."%>H6($"#% S"H,'$#% 96f^,)%90(.?#/#% 4"5)()3"%'"H,H>.(*,0% PL>.:%>H6($"#%'"),["'?U% ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% BA%
  20. 20. _<+H4&)W+X.2.*+-)=""&<) advanced reporter! Track hot keys and clients in Memcached! wireshark! Dissect and analyze Memcached network tra#c! brutis! Size and test changes to memcache clusters! statsproxy! View bu"ered Memcached stats in your browser! cacti! Graph and analyze Memcached statistics! ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% ;@%
  21. 21. U$2$<C%"FJ)c)!2./)=+XC&2$+<) I,%>#"%$3"%)()*% $"5H.($"#%+,'% 5"5)()3"6%2/$3% #$($#H',Y?%?,>%"/$3"'% 0""6%$,%5,6/+?%$3"% $"5H.($"#%$,%>#"%H,'$% d@d@%,'%)3(01"%$3"% #$($#H',Y?%),0i1%$,% >#"%H,'$%BB;BB% ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% ;B%
  22. 22. W+X.2.*+-0)d+<$);%2./.+<) •! o#"%2/$3%4?-_8%FfU% •! D('"+>.%2/$3%0>5L"'#%,+% •! o#"%,0%VN%L/$%#"'["'#% ),00")*,0#% •! D()3"%M"YH"0#/["% –! &"(:% ,H"'(*,0#e% –! I'(0#/*,0#% •! D()3"%L/f6/'")*,0(..?% •! R[/)*,0#% PSjZU% –! -"15"0$%4"5)()3"6% 6($(%/0$,%#"H('($"%H,,.#% •! W"#/10%$,%2/$3#$(06% •! CH*5/l"%#/l/01F% +(/.>'"#%1'()"+>..?% X0#$(0)"#%(06%H,,.#% •! o#"%),0#/#$"0$%3(#3/01% •! X0#$'>5"0$(*,0% ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% ;;%
  23. 23. •! First and leading provider$ of Memcached solutions! •! Memcached solution including! •! High Availability! •! High density! •! Advanced memory$ management! •! Enhanced reporting$ capabilities ! •! Support for multi-tenancy! •! Disruption free$ software upgrades! •! 100% client compatible! ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% ;<%
  24. 24. =*2#e<) =,(m>/0%p($q%1"('V%p6,$q%),5% ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% ;N%
  25. 25. 5+<"4%.+<)S)5+H+%+#.+<) •! W(01(G),5% •! ^/13#)(.(L/./$?G),5% •! W"[G1"('VG),5% •! r',>H#G1,,1."G),5j1',>Hj5"5)()3"6% •! D,6"G1,,1."G),5jHj5"5)()3"6% •! I2/]"'G),5j1"('#/Y% •! D()*G0"$% •! Z/'"#3(':G,'1% ;<%=>.?%;@@A% C-DCE%;@@AF%4"5)()3"6% ;O%

×