1. Visual Studio Summit 2013
Cleber Dantas
Dicas de otimização e performance de
aplicações Web com ASP.NET
Portal Minha Vida/Dieta e Saúde
2. Visual Studio Summit 2013
Steve Souders – “80% dos problemas de performance de aplicações Web estão no Front-end”
Front-end
3. Visual Studio Summit 2013
1ª dica: Separe componentes em
subdomínios distintos
• Motivos
– Carregamento de componentes em paralelo
– Fácil gerenciamento de canal de entrega do conteúdo
– Cookie-free domains (http://www.cleberdantas.com/2011/11/cuidado-com-os-
cookies-cookie-free-domains)
4. Visual Studio Summit 2013
2ª dica: Carregamento
tardio/assíncrono de js
• Motivos
– Renderização bloqueada pelo browser
– Se não vai usar imediatamente o script para que baixa-lo? ora pois...
• Ferramentas
– Labjs (http://labjs.com/)
– ControlJS (http://stevesouders.com/controljs/)
5. Visual Studio Summit 2013
3ª dica: Keep-alive sempre ligado
• Motivos
– Para cada requisição HTTP uma conexão TCP precisa ser estabelecida
– Three-way handshake a todo momento é desnecessário
– Anatomia de uma requisição HTTP
(http://www.cleberdantas.com/2011/12/anatomia-de-uma-requisicao-http/)
6. Visual Studio Summit 2013
3ª dica: Keep-alive sempre ligado
Visão das requisições HTTP
Visão das conexões TCP
7. Visual Studio Summit 2013
4ª dica: Abuse dos cabeçalhos de
expiração de conteúdo
• Motivos
– Cacher é bom truste me
– Visualizações futuras bem mais rápidas (afinal não é preciso buscar componentes
ainda “frescos”)
– Na dúvida cachear tudo (e ter um bom esquema pra forçar a atualização caso
necessário)
• Expires ou Cache-Control?
– Os dois (só pra garantir), mas entenda a diferença.
8. Visual Studio Summit 2013
5ª dica: Use uma CDN (Ou construa
a sua... E me avise)
• Content Delivery Network
– Rede de distribuição de conteúdo
– Infraestrutura para ENTREGA do conteúdo
• Própria
• Terceirizada (Akamai, Ananke, UOL, etc)
• Pública (Microsoft, Google, etc)
• http://www.cleberdantas.com/2011/11/content-delivery-network-cdn-
voce-ainda-vai-usar-uma/
9. Visual Studio Summit 2013
5ª dica: Use uma CDN (Ou construa
a sua... E me avise)
http://ajax.aspnetcdn.com/ajax/jquery/jquery-
1.5.1.min.js
10. Visual Studio Summit 2013
Obrigado. Perguntas?
http://www.cleberdantas.com
http://tecnologia.minhavida.com.br
http://br.linkedin.com/company/minha-vida