otimização de desempenho de websites desenvolvidos em microsoft asp.net e hospedados em servidores...

13
PÓS-GRADUAÇÃO EM ESTRATÉGIAS EM ARQUITETURA DE SOFTWARE Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hospedados em servidores Microsoft IIS RAFAEL DO CARMO SCHETTINO [email protected]

Upload: rafael-schettino

Post on 12-Feb-2017

96 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hospedados em servidores Microsoft IIS

PÓS-GRADUAÇÃO EM ESTRATÉGIAS EM ARQUITETURA DE SOFTWARE

Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e

hospedados em servidores Microsoft IIS

RAFAEL DO CARMO [email protected]

Page 2: Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hospedados em servidores Microsoft IIS

PÓS-GRADUAÇÃO EM ESTRATÉGIAS EM ARQUITETURA DE SOFTWARE

INTRODUÇÃO E MOTIVAÇÃO• Aumento da competitividade• “O mais rápido possível”• Usuários impacientes

Page 3: Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hospedados em servidores Microsoft IIS

PÓS-GRADUAÇÃO EM ESTRATÉGIAS EM ARQUITETURA DE SOFTWARE

FUNCIONAMENTO DE UM WEBSITE• Protocolo HTTP;• Servidores WEB;• Linguagens de Programação;• Navegadores

Page 4: Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hospedados em servidores Microsoft IIS

PÓS-GRADUAÇÃO EM ESTRATÉGIAS EM ARQUITETURA DE SOFTWARE

OTIMIZAÇÃO – LADO SERVIDOR• Monitoramento: Logs, Gráficos, Contadores• Memória• CPU• Threads• Cache• Rede

Page 5: Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hospedados em servidores Microsoft IIS

PÓS-GRADUAÇÃO EM ESTRATÉGIAS EM ARQUITETURA DE SOFTWARE

OTIMIZAÇÃO – LADO SERVIDOR• Memória RAM– Fonte frequente de problemas– Disponibilidade > 5%– Identificar causas do consumo– Cuidado com caching– Cuidado com Garbage Collector– Evite paginação

Page 6: Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hospedados em servidores Microsoft IIS

PÓS-GRADUAÇÃO EM ESTRATÉGIAS EM ARQUITETURA DE SOFTWARE

OTIMIZAÇÃO – LADO SERVIDOR• CPU– Resolver após Memória RAM– % CPU alto + % RAM ou % I/O baixos = Atualizar

ou Incluir processadores– Atenção para o enfileiramento de Threads

Page 7: Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hospedados em servidores Microsoft IIS

PÓS-GRADUAÇÃO EM ESTRATÉGIAS EM ARQUITETURA DE SOFTWARE

OTIMIZAÇÃO – LADO SERVIDOR

• DISCOS RÍGIDOS E REDE– Utilizar RAID;– Evitar paginação;– Balancear carga de Rede.

“No mundo real, na maioria dos casos, um único servidor não é suficiente para suportar o tráfego de rede. Nesse caso, você deve escalar seu website através de múltiplos servidores” (STANEK, 2007).

Page 8: Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hospedados em servidores Microsoft IIS

PÓS-GRADUAÇÃO EM ESTRATÉGIAS EM ARQUITETURA DE SOFTWARE

OTIMIZAÇÃO – LADO SERVIDOR• Práticas de programação– Instancie tarde; libere cedo– Strings requerem cuidados– Pool de conexões– Junção de consultas e multiplos recordsets

• Cache– Output Caching– Data Caching

• Compressão GZIP

Page 9: Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hospedados em servidores Microsoft IIS

PÓS-GRADUAÇÃO EM ESTRATÉGIAS EM ARQUITETURA DE SOFTWARE

NAVEGADORES - DEBUG• IE - Ferramentas para Desenvolvedores• Chrome Developer

Tools• FireBug

Page 10: Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hospedados em servidores Microsoft IIS

PÓS-GRADUAÇÃO EM ESTRATÉGIAS EM ARQUITETURA DE SOFTWARE

OTIMIZAÇÃO – LADO CLIENTE• 80-90% requisições: referências no HTML• Melhoria: 40-45% tempo de resposta• Algumas causas:– Requisições HTTP paralelas– Tamanho do HTML e ViewState– Tempo de carregamento de scripts e arquivos

referenciados

Page 11: Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hospedados em servidores Microsoft IIS

PÓS-GRADUAÇÃO EM ESTRATÉGIAS EM ARQUITETURA DE SOFTWARE

OTIMIZAÇÃO - AÇÕES• Diminuir requisições HTTP• Evitar redirecionamentos• Utilizar CDN• CSS no head• Scripts no final do HTML• Múltiplos cabeçalhos de host• Não usar expressões CSS• Scripts externos e sem duplicidade• Minification

Page 12: Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hospedados em servidores Microsoft IIS

PÓS-GRADUAÇÃO EM ESTRATÉGIAS EM ARQUITETURA DE SOFTWARE

CONTENT DELIVERY NETWORKS

Page 13: Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hospedados em servidores Microsoft IIS

PÓS-GRADUAÇÃO EM ESTRATÉGIAS EM ARQUITETURA DE SOFTWARE

OBRIGADO!