18
Quem derrubou o meu site? The Developer Conference 2014 @AlexandreTarifa @RodolfoFadino

TDC, Quem derrubou o meu site?

Embed Size (px)

DESCRIPTION

O cenário de aplicações Web apresenta um novo desafio a cada dia... no Brasil já atingimos 100 milhões de usuários com acesso a internet. E se seu projeto vira um sucesso e 1% dessas pessoas resolvem acessar ao mesmo tempo a sua aplicação ASP.NET? Nesta apresentação, mostraremos técnicas e recursos para que sua aplicação suporte um grande volume de usuários e que você também identifique os gargalos e pontos críticos de suas aplicações.

Citation preview

Page 1: TDC, Quem derrubou o meu site?

Quem derrubou o meu site?The Developer Conference 2014@AlexandreTarifa@RodolfoFadino

Page 2: TDC, Quem derrubou o meu site?

IIS• Web Sites • Container para applications e diretórios virtuais, podendo ser acessado

por um ou mais bingings.• A partir do IIS7  cada site tem uma application a qual é a “root

application”, ou “default application”• Applications • Uma application é um grupo de arquivos que entrega um conteúdo ou

serviços sobre protocolos, como o HTTP. Quando você cria uma applicationn no IIS, o caminho da application se torna parte da url.

• Diretórios Virtuais • Um diretorio virtual é um diretório no iis que mapeia qualquer lugar em

um diretorio fisico no servidor. 

Page 3: TDC, Quem derrubou o meu site?

Application Pools e Worker Process• 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

Page 4: TDC, Quem derrubou o meu site?

DemoIIS

Page 5: TDC, Quem derrubou o meu site?

Requests e o Thread Pool• Processando Requisições Síncronas (Caixa Correios)

Thread Pool

Requests

Page 6: TDC, Quem derrubou o meu site?

Requests e o Thread Pool• Processando Requisições Assíncronas (Garçom

restaurante)

Thread Pool

Requests

Page 7: TDC, Quem derrubou o meu site?

Requests e o Thread Pool• Processando Requisições Assíncronas (Garçom

restaurante)

Page 8: TDC, Quem derrubou o meu site?

Requests e o Thread Pool• HTTP 503• Thread Pool (1MB Ram para cada uma)• 5000 (limite máximo) => 5G Ram

Page 9: TDC, Quem derrubou o meu site?

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

Page 10: TDC, Quem derrubou o meu site?

DemoAsync e Sinc + IIS

Page 11: TDC, Quem derrubou o meu site?

Síncrono: use a abordagem síncrona quando:• as operações são simples e de curta duração;• simplicidade é mais importante do que eficiência;• as operações são basicamente de CPU ao invés de

utilizarem muito disco ou rede. métodos assíncronos em operações do tipo CPU-bound não oferecem resultados melhores

Page 12: TDC, Quem derrubou o meu site?

Assíncrono: use a abordagem assíncrona quando:• as operações são rede-bound ou I / O-bound em vez

de CPU-bound (leitura de arquivos, chamadas de webservices, etc);

• teste mostram que as operações de bloqueio são um gargalo no desempenho do site e que o IIS pode atender mais solicitações, utilizando métodos de ação assíncrona para estas chamadas de bloqueio;

• paralelismo é mais importante do que a simplicidade do código;

• você quer fornecer um mecanismo que permite aos usuários cancelar um pedido de longa duração;

Page 13: TDC, Quem derrubou o meu site?
Page 14: TDC, Quem derrubou o meu site?

A melhor solução de performance é fazer com que o seu código não seja executado o tempo

todo!

Cache

Page 15: TDC, Quem derrubou o meu site?

DemoCache, memCached e Redis

Page 16: TDC, Quem derrubou o meu site?
Page 17: TDC, Quem derrubou o meu site?

DemoLevel3 e Akamai

Page 18: TDC, Quem derrubou o meu site?

have a nice

CODE