SlideShare uma empresa Scribd logo
1 de 31
Aplicações web de alta
     performance
          Pedro Chaves
  Studio Sol Comunicação Digital
Tópicos
1.   A Studio Sol Comunicação Digital
2.   Os sites/apps
3.   A matemática dos usuários
4.   A equipe de desenvolvimento
5.   Tecnologias e estrutura dos sites
6.   Problemas, soluções e otimizações
7.   Mais otimizações!
8.   Dicas finais
1996                              2000
 Gabriel Fernandes                 Studio Sol é criada
  cria o Cifra Club               com Samuel Vignoli



      2003              2008                 2009
 Letras.mus.br e A primeira vídeo-aula Studio Sol se muda
 Palco MP3 são         é lançada        para um andar na
    lançados                                 Savassi

       2010                          2012
 Cifra Club TV ganha          Empresa tem 3 andares
mais instrutores e um         e aproximadamente 60
   estúdio próprio                 funcionários
Os sites/apps
65 mil              580 mil
             artistas            músicas


 390 mil                               52 milhões
visitas diárias                            pageviews
                    Mais de 2
                    milhões
                  downloads de App
                  para Android / iOS
                                       Dados de setembro de 2012
297 mil           1.130 vídeo-
   cifras de violão    aulas por 9
                       instrutores


90 milhões                   16 milhões
 pageviews                          visitas


    580 mil           214 milhões
                       visualizações no
   visitas diárias
                           YouTube
                              Dados de setembro de 2012
144 mil              2 milhões
       artistas          letras de música


360 milhões                      82 milhões
  pageviews                             visitas


    2,7 milhões         27 milhões
      visitas diárias   visitantes únicos

                                 Dados de setembro de 2012
Equipe de desenvolvimento
Tecnologias utilizadas




             JavaScript
Tecnologias utilizadas
Não importa a linguagem,
 mas sim a estrutura que
  você monta para sua
     aplicação web.
Tecnologias utilizadas




  Memcached
...e qualquer outra coisa
      que nos ajude.
Estrutura
● 14 servidores em São Paulo
● 1 servidor com MySQL dedicado
● 1 slave MySQL em cada servidor
● 3 servidores servindo aplicações
● 3 servidores servindo músicas para o Palco
  MP3
● 2 servidores para cache
Problemas, soluçoes e
    otimizações
Problema #1




O acesso ao disco é lento, e
  acesso ao MySQL mais
       lento ainda.
Solução #1




 Não buscar dados sempre
       no MySQL!
Otimização #1


                 Memcached




                Arquivos
                em disco
Otimização #1




  Não grave os dados no
  mesmo servidor em que
     eles são lidos!
Problema #2




    Quanto mais scripts
  simultâneos no servidor,
     mais lento ele fica
Solução #2




Evitar que o usuário chegue
até o servidor de aplicação!
Otimização #2




  HTTP Last-    HTTP Max-
   modified        age
Problema #3




      Código mal escrito
     prejudica o servidor.
Solução #3




   Saiba o que é lento na
linguagem que está usando
       e evite usar!
Otimização #3



 Cada milissegundo salvo
   representa algumas
 requisições extras no fim
          do dia ;)
Em uma aplicação web, seu
 foco deve ser apenas um:

       O Usuário!
CSS Sprites

  Ao invés de 15
 imagens, por que
   não só uma?
Compressão de arquivos

● Minificar JS e CSS
Redução de 60% no tamanho do arquivo

● gzip
Redução de 70% no tamanho da resposta

● Ganhar SEGUNDOS no
  carregamento da página
Não tem preço!
Otimizações no client-side
●   Processamentos pesados no servidor
●   Arquivos estáticos em servidor sem cookies
●   Carregamento de JavaScript assíncrono
●   Comprimir HTML
●   Busque JavaScripts de CDNs conhecidos
●   Quanto menos arquivos melhor!



       Let's Make the Web Faster!
Seja curioso, leia o código
  alheio, experimente coisas
novas e mantenha-se atualizado.

          Fale inglês!
Obrigado!

       pedro.chaves@studiosol.com.br

       @pedrochaves

       http://github.com/pedrochaves

Mais conteúdo relacionado

Semelhante a Aplicações Web de Alta Performance

Netbeans 6.0: Aplicações Java Desktop
Netbeans 6.0: Aplicações Java DesktopNetbeans 6.0: Aplicações Java Desktop
Netbeans 6.0: Aplicações Java Desktop
elliando dias
 

Semelhante a Aplicações Web de Alta Performance (20)

Webseriados
WebseriadosWebseriados
Webseriados
 
Performance e escalabilidade de aplicações ASP.NET - Visual Studio Summit
Performance e escalabilidade de aplicações ASP.NET - Visual Studio SummitPerformance e escalabilidade de aplicações ASP.NET - Visual Studio Summit
Performance e escalabilidade de aplicações ASP.NET - Visual Studio Summit
 
Palestra Unesp
Palestra UnespPalestra Unesp
Palestra Unesp
 
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMASLIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
 
SPA com CSharp
SPA com CSharpSPA com CSharp
SPA com CSharp
 
Netbeans 6.0: Aplicações Java Desktop
Netbeans 6.0: Aplicações Java DesktopNetbeans 6.0: Aplicações Java Desktop
Netbeans 6.0: Aplicações Java Desktop
 
Apresentação SNEP
Apresentação SNEPApresentação SNEP
Apresentação SNEP
 
Palestra SFD etec Netbeans e Java 3D
Palestra SFD etec Netbeans e Java 3DPalestra SFD etec Netbeans e Java 3D
Palestra SFD etec Netbeans e Java 3D
 
Desenvolvimento Multiplataforma com Appcelerator Titanium
Desenvolvimento Multiplataforma com Appcelerator TitaniumDesenvolvimento Multiplataforma com Appcelerator Titanium
Desenvolvimento Multiplataforma com Appcelerator Titanium
 
Win302 daniel semedo_10 motivos para utilizar apache cordova (1)
Win302 daniel semedo_10 motivos para utilizar apache cordova (1)Win302 daniel semedo_10 motivos para utilizar apache cordova (1)
Win302 daniel semedo_10 motivos para utilizar apache cordova (1)
 
DevOps e App Insights
DevOps e App InsightsDevOps e App Insights
DevOps e App Insights
 
T CC - David William e Marce
T CC - David William e Marce T CC - David William e Marce
T CC - David William e Marce
 
Projeto Videocassetada (Trabalho da Pós)
Projeto Videocassetada (Trabalho da Pós)Projeto Videocassetada (Trabalho da Pós)
Projeto Videocassetada (Trabalho da Pós)
 
DevOps... O caminho! - Monitoramento de aplicações com App Insights
DevOps... O caminho! - Monitoramento de aplicações com App InsightsDevOps... O caminho! - Monitoramento de aplicações com App Insights
DevOps... O caminho! - Monitoramento de aplicações com App Insights
 
Tcc
TccTcc
Tcc
 
Trabalho Gestão Tec. Web - WEBSERIADOS
Trabalho Gestão Tec. Web - WEBSERIADOSTrabalho Gestão Tec. Web - WEBSERIADOS
Trabalho Gestão Tec. Web - WEBSERIADOS
 
SITE BOLETIM ESCOLAR UMA PROPOSTA ONLINE NA ETEC LUIZ PIRES BARBOSA
SITE BOLETIM ESCOLAR UMA PROPOSTA ONLINE NA ETEC LUIZ PIRES BARBOSASITE BOLETIM ESCOLAR UMA PROPOSTA ONLINE NA ETEC LUIZ PIRES BARBOSA
SITE BOLETIM ESCOLAR UMA PROPOSTA ONLINE NA ETEC LUIZ PIRES BARBOSA
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptx
 
Web Dev Camp
Web Dev CampWeb Dev Camp
Web Dev Camp
 
Metodologia para Avaliação de Sites
Metodologia para Avaliação de SitesMetodologia para Avaliação de Sites
Metodologia para Avaliação de Sites
 

Último

Último (8)

Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 

Aplicações Web de Alta Performance

  • 1. Aplicações web de alta performance Pedro Chaves Studio Sol Comunicação Digital
  • 2. Tópicos 1. A Studio Sol Comunicação Digital 2. Os sites/apps 3. A matemática dos usuários 4. A equipe de desenvolvimento 5. Tecnologias e estrutura dos sites 6. Problemas, soluções e otimizações 7. Mais otimizações! 8. Dicas finais
  • 3. 1996 2000 Gabriel Fernandes Studio Sol é criada cria o Cifra Club com Samuel Vignoli 2003 2008 2009 Letras.mus.br e A primeira vídeo-aula Studio Sol se muda Palco MP3 são é lançada para um andar na lançados Savassi 2010 2012 Cifra Club TV ganha Empresa tem 3 andares mais instrutores e um e aproximadamente 60 estúdio próprio funcionários
  • 5. 65 mil 580 mil artistas músicas 390 mil 52 milhões visitas diárias pageviews Mais de 2 milhões downloads de App para Android / iOS Dados de setembro de 2012
  • 6. 297 mil 1.130 vídeo- cifras de violão aulas por 9 instrutores 90 milhões 16 milhões pageviews visitas 580 mil 214 milhões visualizações no visitas diárias YouTube Dados de setembro de 2012
  • 7. 144 mil 2 milhões artistas letras de música 360 milhões 82 milhões pageviews visitas 2,7 milhões 27 milhões visitas diárias visitantes únicos Dados de setembro de 2012
  • 11. Não importa a linguagem, mas sim a estrutura que você monta para sua aplicação web.
  • 13. ...e qualquer outra coisa que nos ajude.
  • 14. Estrutura ● 14 servidores em São Paulo ● 1 servidor com MySQL dedicado ● 1 slave MySQL em cada servidor ● 3 servidores servindo aplicações ● 3 servidores servindo músicas para o Palco MP3 ● 2 servidores para cache
  • 15. Problemas, soluçoes e otimizações
  • 16. Problema #1 O acesso ao disco é lento, e acesso ao MySQL mais lento ainda.
  • 17. Solução #1 Não buscar dados sempre no MySQL!
  • 18. Otimização #1 Memcached Arquivos em disco
  • 19. Otimização #1 Não grave os dados no mesmo servidor em que eles são lidos!
  • 20. Problema #2 Quanto mais scripts simultâneos no servidor, mais lento ele fica
  • 21. Solução #2 Evitar que o usuário chegue até o servidor de aplicação!
  • 22. Otimização #2 HTTP Last- HTTP Max- modified age
  • 23. Problema #3 Código mal escrito prejudica o servidor.
  • 24. Solução #3 Saiba o que é lento na linguagem que está usando e evite usar!
  • 25. Otimização #3 Cada milissegundo salvo representa algumas requisições extras no fim do dia ;)
  • 26. Em uma aplicação web, seu foco deve ser apenas um: O Usuário!
  • 27. CSS Sprites Ao invés de 15 imagens, por que não só uma?
  • 28. Compressão de arquivos ● Minificar JS e CSS Redução de 60% no tamanho do arquivo ● gzip Redução de 70% no tamanho da resposta ● Ganhar SEGUNDOS no carregamento da página Não tem preço!
  • 29. Otimizações no client-side ● Processamentos pesados no servidor ● Arquivos estáticos em servidor sem cookies ● Carregamento de JavaScript assíncrono ● Comprimir HTML ● Busque JavaScripts de CDNs conhecidos ● Quanto menos arquivos melhor! Let's Make the Web Faster!
  • 30. Seja curioso, leia o código alheio, experimente coisas novas e mantenha-se atualizado. Fale inglês!
  • 31. Obrigado! pedro.chaves@studiosol.com.br @pedrochaves http://github.com/pedrochaves