voce se preocupa com performance ou é sempre problema da infra
TRANSCRIPT
![Page 1: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/1.jpg)
www.cdsinformatica.com.br
Você se preocupa com Performanceou
é sempre Problema da Infra ?
![Page 2: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/2.jpg)
• Mais de 25 anos de experiência no desenvolvimento de software
• Responsável por Pesquisa e Desenvolvimento na CDS Informática
• Microsoft MVP desde 2008
• Microsoft Regional Director
• Um dos criadores do projeto open source CodeCracker: www.github.com/code-cracker
• Mantenedor do projeto open source BoletoNet: www.github.com/boletonet
• Blog: www.carloscds.net
• GitHub: www.github.com/carloscds
![Page 3: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/3.jpg)
Visit
• Qual sua primeira reação ?
• A máquina é ruim, tem que melhorar
• A rede está com problema
• A internet é muito lenta
• Usuário não sabe usar a aplicação
• 10 mil usuários ? Ele nunca tinha me falado isto…
• Na minha máquina funciona!!!
![Page 4: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/4.jpg)
![Page 5: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/5.jpg)
![Page 6: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/6.jpg)
![Page 7: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/7.jpg)
![Page 8: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/8.jpg)
Visit
• Diagnóstico
• Telemetria
• Profiler
• Melhorar o código, ou seja, estudar mais!!!
![Page 9: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/9.jpg)
Visit
• O quê você guarda na sessão ?
• E onde está armazenada a sessão ?
• Está na memória ou em um banco de dados ?
• Se não for um banco noSQL, mude agora! Por exemplo: Mongo, RedisCache, etc
• Um caso real: 16 servidores IIS com um banco de sessão!
![Page 10: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/10.jpg)
Visit
• Já viu as queries que sua aplicação executa ?
• Já analizou as queries que o seu código no ORM estão produzindo ?
![Page 11: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/11.jpg)
Você está usando índices corretamente ?
![Page 12: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/12.jpg)
![Page 13: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/13.jpg)
![Page 14: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/14.jpg)
VisitVisit
• Melhora a performance, mas use com cuidado!
![Page 15: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/15.jpg)
Demo – SQL
![Page 16: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/16.jpg)
Visit
• Utilize AsNoTracking() para consultas
• O objeto não ficará sob o controle do Contexto (Change Tracking)
![Page 17: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/17.jpg)
Visit
• Você coloca ToList() em tudo ?
• Está forçando a execução da query no Banco antes do necessário!
![Page 18: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/18.jpg)
Visit
• Que comando será enviado para o banco neste código ?
Visit
• E neste ?
![Page 19: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/19.jpg)
Visit
• Está em camadas ? Desligue o Lazy Loading e o Proxy
• Por exemplo: Uma API retornando dados!!!
• Isto porque o contexto deixa de existir entre as camadas!
![Page 20: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/20.jpg)
Visit
• Conheça o Dapper
• Criado pelo StackExchange• https://github.com/StackExchange/Dapper
• https://github.com/StackExchange/Dapper/tree/master/Dapper.Contrib
![Page 21: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/21.jpg)
Visit
• O que é ?
• Exemplos: Visual Studio Profiler, Ants Profiler, JProfiler
![Page 22: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/22.jpg)
Demo – Profiler
![Page 23: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/23.jpg)
Visit
• Você tem isto na sua aplicação ?
![Page 24: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/24.jpg)
Visit
• Monitore sua aplicação em tempo real
http://bit.ly/2gmS7TH
![Page 25: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/25.jpg)
Visit
• Monitore seu JavaScript
![Page 26: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/26.jpg)
Visit
• Monitore suas Apps
![Page 27: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/27.jpg)
Visit
• Monitore suas Apps
![Page 28: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/28.jpg)
Visit
• Monitore seus ambientes
![Page 29: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/29.jpg)
![Page 30: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/30.jpg)
Demo
![Page 31: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/31.jpg)
Visit
• Você já viu o tráfego da sua aplicação ?
• Já viu o tamanho dos arquivos ?
• Você usa minificação ?
• Aperte o F12 do Chrome e veja…
![Page 32: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/32.jpg)
Visit
• Não é porque seu projeto roda bem localmente que isto irá acontecer na nuvem!
• Otimize os recursos, minifique, cuide do tamanho dos arquivos!
• Cuide da qualidade do seu código, use ferramentas como SonarQube
• Utilize telemetria como um aliado, principalmente durante o desenvolvimento!
![Page 33: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/33.jpg)
Visit
• https://docs.microsoft.com/pt-br/azure/redis-cache/cache-aspnet-session-state-provider
• https://blogs.msdn.microsoft.com/fcatae/2010/10/05/como-usar-select-with-nolock-para-melhorar-a-performance/
• http://carloscds.net/2014/09/dapperum-micro-orm-muito-interessante-2/
• https://docs.microsoft.com/en-us/azure/application-insights/app-insights-platforms
• http://rollbar.com
• http://fabric.io
• http://hockeyapp.net
• https://developers.google.com/web/fundamentals/performance/
![Page 34: Voce se preocupa com performance ou é sempre problema da infra](https://reader031.vdocuments.site/reader031/viewer/2022021922/5a649b4b7f8b9a5d568b4ddb/html5/thumbnails/34.jpg)
www.cdsinformatica.com.br
www.carloscds.net