5 Servidores, 20 milhões de usuários, 80 milhões de visitas e 600 milhões de pageviews

568 views

Published on

Nessa palestra mostro como lidamos com todo nosso tráfego com um pequeno número de servidores modestos, utilizando page caching, nfs, Memcached, MySQL replication e outras abordagens incomuns."

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
568
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

5 Servidores, 20 milhões de usuários, 80 milhões de visitas e 600 milhões de pageviews

  1. 1. cia rên lRefe asi no Br
  2. 2. 633.000.000 pageviewsJulho/2012 92.000.000 visitas 21.000.000 uniques
  3. 3. WebServer App Servers File Servers
  4. 4. Intel Xeon 2ghz (quad core, 4mb cache L2) 8gb de memória (ddr2 667mhz) 145gb HD SCSIWebServer
  5. 5. Intel Xeon 3ghz (dual core, 6mb cache L2) 4gb de memória (ddr2 800mhz) 250gb HD SCSIApp Servers
  6. 6. Intel Xeon 2.33ghz (octa core, 12mb cache L2) 8gb de memória (ddr2 667mhz)File Servers 160gb HD SCSI
  7. 7. 2.305 pontos 3.989 pontos
  8. 8. web server
  9. 9. +app server
  10. 10. file server
  11. 11. +
  12. 12. replication
  13. 13. r r e rve e rve b S p S We Apmaster slave’s
  14. 14. Alexandre Binialexandre@clickjogos.com.br@alexandrebini
  15. 15. htmlimagensdesacoplar aplicaçãoevitar desperdíciodeploy
  16. 16. 22 pageviews/dia de milhões
  17. 17. GET / Balancer r e rve b S We rve r Se p Apresponse cache /index.html
  18. 18. GET / er S er v eb r W e rve p S Apresponse
  19. 19. r Se rve ebW r Se rve p Ap
  20. 20. Busca JSON agin a çã o P edirects R
  21. 21. Busca GET /busca/?q=clickcross 301 /busca/clickcross/
  22. 22. dire cts re<meta content=’0;url=/clicksinuca/’ http-equiv=‘refresh’/><script type=‘text/javascript’> window.location = ‘/clicksinuca/’</script>
  23. 23. 4gb 215k de html’s
  24. 24. janitor crawler
  25. 25. janitor crawler
  26. 26. janitor crawler
  27. 27. 22 pageviews/dia de milhões
  28. 28. htmlimagensdesacoplar aplicaçãoevitar desperdíciodeploy
  29. 29. location ~* ^.+.(jpg|jpeg|gif|png|ico|css|tgz|gz|js|swf)$ expires modified +20d;}
  30. 30. HTTP/1.1 200 OKExpires: Wed, 29 Aug 2012 22:52:28 GMTCache-Control: max-age=864000X-Varnish: 1519921732 1192092275Age: 307204Via: CacheUOLServer: Proxy-Samba UOLX-Cache: HIT
  31. 31. Intel Xeon 2.4ghz (quad core)96gb de memória
  32. 32. m. br 72uol.co r 74 . com. b br 83 ig m. t err a.co m 86 obl o.co 92 g 1 . gl com . br kjog os. clic
  33. 33. OptiPNGPNGquant
  34. 34. -20%
  35. 35. GB/ mês) 50 0 .000 i ma g ens de 4 k ( de$100.000,00 (amazon)$20.000,00/mês
  36. 36. cache de htmlcache de imagensdesacoplar aplicaçãoevitar desperdíciodeploy
  37. 37. Sinatra
  38. 38. + Sinatra
  39. 39. cache de htmlcache de imagensdesacoplar aplicaçãoevitar desperdíciodeploy
  40. 40. 5ms 1ms
  41. 41. location ~ ^/(categorias|categorias/mais-jogos|novidades)(|/pg-[0-9]+)/$ { include includes/default_cache.conf; include includes/send_to_balancer.conf;}location ~ ^/((downloads|jogos|barra)(|/.*))/$ { include includes/default_cache.conf; include includes/send_to_balancer.conf;}location ~ ^/(clicksinuca|shuffle|shuffle/pqe)/$ { include includes/no_cache.conf; include includes/send_to_balancer.conf;}location ~ ^/(livehome|thumbtest|dfptest)/$ { include includes/no_cache.conf; include includes/send_to_balancer.conf;}
  42. 42. cache de htmlcache de imagensdesacoplar aplicaçãoevitar desperdíciodeploy
  43. 43. r e rve b SWe rve r Se p Ap
  44. 44. GET / r e rve b S We rve r Se p Ap responsecache /index.html
  45. 45. GET /shuffle/ r e rve b S We rve r Se p Ap response/warmup-lock.html
  46. 46. GET /shuffle/ GET /contato/ r e rve b S We rve r Se p Ap response response/warmup-lock.html 200 OK
  47. 47. GET /shuffle/ GET /contato/ r e rve b S We rve r Se p Ap response response/warmup-lock.html 200 OK
  48. 48. GET /shuffle/ Balancer r e rve b S We rve r Se p Ap response
  49. 49. OptiPNGPNGquant
  50. 50. Sinatra
  51. 51. U | t r wed top( faul ance {# Allo ~ ^/(( de s/de to _bal mi t)/$ t ion i nclu s end_ g |sub loca ude u des/ o/ms incl incl cont at de | i nclu n tato ; { i e|co e. conf ; + )/$ |a nunc _ cach r. conf -[ 0-9] } (a juda ef ault al ance )( |/pg ~ ^/ d es/d _ to_b d ades tion i nclu send s| novi loca lude lude s/ jogo inc nc /mai s- u de i s incl oria ; ca teg e. conf ; r ias| _ cach . conf } a tego ef ault la ncer ~ ^/(c es/d _t o_ba ud tion incl send { loca ude u des/ ))/$ incl e incl a) (|/. * in clud s| barr f; jogo .con ; lo ads| _c ache r. conf } down f ault ance ~ ^/(( de s/de _t o_ba l oca tion e i nclu send e)/$ { l ud d es/ q incl i nclu ff le/p inc lude le |shu s huff ; s in uca| e. conf r .con f; h } (c lick no _cac al ance ~ ^/ u des/ _ to_b
  52. 52. C ache Ca che C ache Ca che
  53. 53. Alexandre Binialexandre@clickjogos.com.br@alexandrebini

×