Um milhao de usuários simultâneos

download Um milhao de usuários simultâneos

If you can't read please download the document

description

Como melhorar a peformance do ponto de visto de usuário de site.

Transcript of Um milhao de usuários simultâneos

  • 1. Como suportar um milho de usuriossimultneos?Fernando ike

2. 1996 3. 1996 4. 1996 5. 1996 6. 1996 7. 1996 Netscape 2.0 8. 1996 9. 1996 10. 1996 11. 1996 12. 1996 HTML 3.0 Internet Explorer 3.0 Netscape 2.02 Usurios no Mundo: 36 milhes +- 100 mil sites CPU 200Mhz, RAM 8MB e HD 850 MB 13. 1996UOL: Pgina Inicial: 140KB Elementos: 26 objetosNYTIMES: Pgina Inicial: 144KB Elementos: 18 objetos 14. 2002 15. 2002 16. 2002 17. 2002 18. 2002 19. 2002 20. 2002 21. 2002 HTML 4.0 Internet Explorer 6.0 (2001) Mozilla 1.0 / Phoenix 0.1 Usurios no Mundo: 569 milhes +- 220 milhes de sites CPU 3Ghz, RAM 256MB e HD 60 GB 22. 2002UOL: Pgina Inicial: 210Kb Elementos: 75 objetosNYTIMES: Pgina Inicial: 200Kb Elementos: 110 objetos 23. 2012 24. 2012 25. 2012 26. 2012 27. 2012 28. 2012 29. 2012 HTML 5.0 Internet Explorer 10 Firefox 15+ Chrome 22 Usurios no Mundo: 2,2 bilhes +- 9,66 bilhes de sites CPU 8-Core, RAM 8GB e HD 1TB 30. 2012UOL: Pgina Inicial: 1,5 MB Elementos: 187 objetosNYTIMES: Pgina Inicial: 2,03MB Elementos: 191 objetos 31. Erros mais comuns DNS Domnio com SSL No gzip nas requisies HTTP Time to First Byte Requisies HTTP Cache Arquitetura 32. DNS Resolver um DNS para IP leva +- 120 ms 500 ms (ou mais...) Navegadores tem cache DNS alm doSistema Operacional Evite usar redirecionamentos HTTP 33. DNS Navegadores suportam at 6 conexessimultneas por domnio Navegadores suportam at 32 conexessimultneas Separe o trfego SSL em outro(s) domnio(s) 34. DNS www.oioioi.com.br login.oioioi.com.br estatico1.oioioi.com.br estatico2.oioioi.com.br estatico3.oioioi.com.br estatico4.oioioi.com.br estatico5.oioioi.com.br 35. Domnio com SSL 36. Domnio com SSL Acresce 200ms 1s a toda conexo Aumento do volume total de trfego Aumento do processamento de CPU 37. Domnio com SSL Aumento do uso de memria Aumento da complexidade de arquitetura Aumento do tempo total de rede 38. Domnio com SSL Use somente onde precise de trfico seguro reas que precisem de trfego autenticado Nunca use SSL no servidor(es) de aplicao Objetos estticos preferencialmentesegregados em domnio(s) sem SSL 39. Se tem muita $$$,desconsideres todas anterior es 40. Compactao (gzip) Reduz o tamanho das respostas at 70% Os navegadores sinalizam o suporte compressocom um cabealho HTTP: Accept-Encoding: gzip, deflate Os servidores web notificam o navegador cabealhoHTTP: Content-Encoding: gzip Funciona bem para arquivos base texto (html, csv,JSON, XML, etc) 41. No use em arquivos PDF, imagens, videos, etc.No faa compactao no servidorde aplicao 42. Time to First Byte Boa mtrica para identificar lentido TTFB alto pode ser qualquer coisa: Rede, I/O,Memria, Servidor Web, Aplicao, Banco dedados, plugins, contedo de terceiros, etc... 43. Requisies HTTP Diminuir a quantidade de requisiesHTTP: Consolide arquivos CSS Consolide arquivos de script (javascript) Use CSS Sprite para imagens de fundo http://www.oioioi.com.br/1.gif ehttp://oioioi.com.br/1.gif so coisas diferentes Cuidado com as respostas HTTP 404s 44. CSS e Javascript Remova (Minify) contedo consideradodesnecessrio: Caractater vazio Comentrios de cdigo Coloque o javascript no fim e CSS no incioda pginas html. Cuidado com funes duplicadas 45. Cache-Control: expires: sun, 11 nov 2012 21:00:00 gmt cache-control: max-age=3600 - tempo em segundos deexpirao public: os objetos em cache podem ser salvosem caches intermedirios e que qualquerusurio pode consulta 46. Cache-Control: private: os objetos podem ser salvos em cachedo navegadores do usurios mas no nospblicos no-cache: toda vez o cache ir verificar se aorigem possui verso mais nova no-store: o objeto nunca ficar armazenado emqualquer cache Etag: hash para identificar se necessriobaixar o objeto novamente ou buscar do cache 47. HTTP/1.1 200 OKDate: Fri, 30 Oct 1998 13:19:41 GMTServer: Apache/1.3.3 (Unix)Cache-Control: max-age=3600, must-revalidateExpires: Fri, 30 Oct 1998 14:19:41 GMTLast-Modified: Mon, 29 Jun 1998 02:28:12 GMTETag: "3e86-410-3596fbbc"Content-Length: 1040Content-Type: text/html 48. Cache Contedo esttico com longo tempo de cache Use mltiplos domnios para cache Tenha reas comuns para manter os objetosde uso comuns Mude o nome do arquivo para expirar o cache(...com.br/1.gif?v=123) Use o content-length no cabealho deresposta Use cache nas pginas mais acessadas 49. CDN 50. Content Delivery Network Maior parte do trfego dos usurios so dedownload CDN esto em diversas regies 80% de um site de objetos esttico Contedo mais prximo do internauta Reduo de custo direto na operao (rede,servidores, pessoal, etc.) 51. Arquitetura Servidor de aplicao no servidor deobjetos esttico! Cache, Cache, Cache... Pense sempre na experincia do usurio(receber mais rpido) No tenha pudor, ir reescrever vrias partesde cdigo Use o que tiver de melhor de cada tecnologia Comunicao assncrona 52. Referncias http://www.internetworldstats.com/ http://www.computerhope.com/ http://pctimeline.info/ http://www.bitrebels.com/social/internet-habits-then-now/ http://www.internetsociety.org/ http://www.wikipedia.org http://www.worldwidewebsize.com/ http://www.slideshare.net/andrew4web/optimizing-clientside-performance http://www.rackaid.com/resources/time-to-first-byte/ http://www.cablemap.info/ http://www.web-caching.com/ http://developer.yahoo.com/performance/rules.html 53. Fernando Ikefernando.ike at gmail.comhttp://www.fernandoike.comhttp://twitter.com/fernandoikehttp://linkedin.com/in/fernandoikehttp://www.slideshare.net/fernandoike