tdc, quem derrubou o meu site?
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.TRANSCRIPT
![Page 1: TDC, Quem derrubou o meu site?](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/548346ffb07959600c8b49ba/html5/thumbnails/1.jpg)
Quem derrubou o meu site?The Developer Conference 2014@AlexandreTarifa@RodolfoFadino
![Page 2: TDC, Quem derrubou o meu site?](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/548346ffb07959600c8b49ba/html5/thumbnails/2.jpg)
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?](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/548346ffb07959600c8b49ba/html5/thumbnails/3.jpg)
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?](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/548346ffb07959600c8b49ba/html5/thumbnails/4.jpg)
DemoIIS
![Page 5: TDC, Quem derrubou o meu site?](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/548346ffb07959600c8b49ba/html5/thumbnails/5.jpg)
Requests e o Thread Pool• Processando Requisições Síncronas (Caixa Correios)
Thread Pool
Requests
![Page 6: TDC, Quem derrubou o meu site?](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/548346ffb07959600c8b49ba/html5/thumbnails/6.jpg)
Requests e o Thread Pool• Processando Requisições Assíncronas (Garçom
restaurante)
Thread Pool
Requests
![Page 7: TDC, Quem derrubou o meu site?](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/548346ffb07959600c8b49ba/html5/thumbnails/7.jpg)
Requests e o Thread Pool• Processando Requisições Assíncronas (Garçom
restaurante)
![Page 8: TDC, Quem derrubou o meu site?](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/548346ffb07959600c8b49ba/html5/thumbnails/8.jpg)
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?](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/548346ffb07959600c8b49ba/html5/thumbnails/9.jpg)
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?](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/548346ffb07959600c8b49ba/html5/thumbnails/10.jpg)
DemoAsync e Sinc + IIS
![Page 11: TDC, Quem derrubou o meu site?](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/548346ffb07959600c8b49ba/html5/thumbnails/11.jpg)
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?](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/548346ffb07959600c8b49ba/html5/thumbnails/12.jpg)
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?](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/548346ffb07959600c8b49ba/html5/thumbnails/13.jpg)
![Page 14: TDC, Quem derrubou o meu site?](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/548346ffb07959600c8b49ba/html5/thumbnails/14.jpg)
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?](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/548346ffb07959600c8b49ba/html5/thumbnails/15.jpg)
DemoCache, memCached e Redis
![Page 16: TDC, Quem derrubou o meu site?](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/548346ffb07959600c8b49ba/html5/thumbnails/16.jpg)
![Page 17: TDC, Quem derrubou o meu site?](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/548346ffb07959600c8b49ba/html5/thumbnails/17.jpg)
DemoLevel3 e Akamai
![Page 18: TDC, Quem derrubou o meu site?](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/548346ffb07959600c8b49ba/html5/thumbnails/18.jpg)
have a nice
CODE