Performance Web com ASP.NET MVC

6.391 visualizações

Publicada em

Performance é uma fator de sucesso ou fracasso para nossas aplicações, seja para melhorar a experiência do usuário ou para diminuir o uso de recursos computacionais ela é muito importante. Veja nesta apresentação os principais fatores e as principais técnicas para melhorar a performance de nossas aplicações web.

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
6.391
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4.952
Ações
Compartilhamentos
0
Downloads
10
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Performance Web com ASP.NET MVC

  1. 1. Performance ASP.NET MVC
  2. 2. @RodolfoFadino • MVP em Visual C# • Especialista em desenvolvimento web • Tecnologia em Processamento de Dados FATEC-SP • Portal Minha Vida
  3. 3. ! Instantâneo
  4. 4. Soma de fatores Back-End • Cache • Thread • Debug/Release • SQL • IO • Network • ... Front-End • CSS • JS • IMG • Headers • Minified • CDN • Proxy • Cookies • ...
  5. 5. Vamos fazer um projeto para isso
  6. 6. Backlog
  7. 7. Melhorar a performance é uma responsabilidade nossa (desenvolvedor)
  8. 8. IIS • ApplicationPool – Isola nossas aplicações promovendo segurança, confiança, disponibilidade e performance. – Versão de framework – Modo de pipeline – Recycling • WorkerProcess – Host da aplicação (w3wp.exe) – Pool de Threads • Número limitado • Bloqueio
  9. 9. Requests e o Thread Pool Processando Requisições Síncronas (Caixa Correios)
  10. 10. Requests e o Thread Pool Processando Requisições Assíncronas (Garçom restaurante)
  11. 11. Requests e o Thread Pool Processando Requisições Assíncronas (Garçom restaurante)
  12. 12. Task-based Asynchronous Pattern (TAP) Task Parallel Library (TPL) Baseada no conceito de Tasks Maior eficiência no uso dos recursos computacionais Melhor controle programático das Threads
  13. 13. Cache • “A melhor solução de performance é fazer com que o seu código não seja executado o tempo todo!” Tarifa, Alexandre
  14. 14. • “…only 10-20% of the total end-user response time is spent getting the HTML document to the browser. You need to focus on the other 80- 90% if you want to make your pages noticeably faster…”
  15. 15. 14 regras • Rule 1 - Make Fewer HTTP Requests • Rule 2 - Use a Content Delivery Network • Rule 3 - Add an Expires Header • Rule 4 - Gzip Components • Rule 5 - Put Stylesheets at the Top • Rule 6 - Put Scripts at the Bottom • Rule 7 - Avoid CSS Expressions • Rule 8 - Make JavaScript and CSS External • Rule 9 - Reduce DNS Lookups • Rule 10 - Minify JavaScript • Rule 11 - Avoid Redirects • Rule 12 - Remove Duplicate Scripts • Rule 13 - Configure ETags • Rule 14 - Make AJAX Cacheable
  16. 16. Anatomia de uma requisição HTTP • DNS Lookup • Initial Connection – Keep-Alive Header • Time to First Byte • Content Download
  17. 17. CSS e JS • Bundling • Minification • CSS – Header • JS – Assíncrono – Mais próximo do final
  18. 18. Imagens • Expires – Handler – Imagens fisicas • Lazy Load – Dependendo do cenário • Sprites • Otimizar – RIOT
  19. 19. Dicas Rápidas • Debug/Release • UrlRewrite • SQL Plano de execução • SQL gerado ORM • Glimpse

×