Otimizações do IIS 7.5 para um site que serve apenas conteúdo estático

21

Estou tentando configurar um domínio sem cookies destinado a veicular conteúdo estático para um aplicativo da Web, semelhante ao site link que o sites de troca de pilha usam.

A minha pergunta é: que otimizações posso fazer para a minha configuração do IIS 7.5 para tal domínio? Por exemplo, ele nunca será responsável por nada além de servir conteúdo estático, assim, desabilitar a integração do ASP.NET seria uma boa jogada para este site?

Qualquer sugestão ou referência sobre como configurar um site como esse com o IIS 7.5 seria muito bem-vinda.

Editar

Só para esclarecer, este não é o ÚNICO site no servidor, por isso, as otimizações sugeridas devem segmentar o nível do site, e não a configuração no nível do servidor.

    
por DanP 05.04.2011 / 14:30

2 respostas

17

Há várias considerações sobre isso, algumas tratadas no IIS (compactação HTTP, cabeçalhos de armazenamento em cache fx) e algumas tratadas durante o processo de compilação / antes da implantação (como concatenação de arquivos em Javascript e CSS e espaçamento de espaços em branco) .

Como tal, é um pouco difícil dar a você um resumo completo em uma resposta, já que algumas delas dependerão da sua compilação & métodos de liberação. Em etapas de alto nível:

  • O site é "sem cookies" em virtude de você usar um novo domínio, que não está vinculado ao seu aplicativo da web. Como você não está definindo nenhum cookie para o domínio (usando o código de aplicativo f.x. .NET), ele é "cookieless".

  • Você deve absolutamente ativar a compactação HTTP para conteúdo de texto estático como Javascript e CSS.

  • Eu não sou o maior administrador do IIS, mas, até onde eu sei, você só precisa dos componentes padrão do IIS associados ao função de servidor básica" Servidor da Web (IIS) ".

  • Você deve absolutamente ativar cabeçalhos de armazenamento em cache longos para o conteúdo estático . A recomendação geral é de 31 dias, mas você pode defini-lo como maior ou menor. Lembre-se, se você veicular conteúdo estático com cabeçalhos de cache longos, deverá alterar a URL se alterar o arquivo, para evitar que o conteúdo em cache antigo seja reutilizado pelos clientes.

  • Você deve ativar o keep-alive de HTTP (mesmos documentos que os cabeçalhos de cache).

Além disso, há tarefas de pré-implantação, como espaço em branco compactando o Javascript e CSS , e idealmente comprima melhor o PNG , Isto é onde as ferramentas de desenvolvimento e o ciclo de construção ajudam a decidir como proceder.

Quando terminar, tente baixar alguns arquivos dos seus servidores estáticos com o YSlow ativado . Acho que o conjunto de regras "Classic V2" dá o maior impacto para o esforço, por isso sugiro que verifique o seu pontuação contra este conjunto de regras YSlow.

Do conjunto de regras "Classic V2", essas regras se aplicam de forma limpa às instâncias do IIS do servidor estático & conteúdo:

3. Add an Expires or a Cache-Control Header
4. Gzip Components
10. Minify JavaScript and CSS
11. Avoid Redirects
13. Configure ETags
19. Use Cookie-Free Domains for Components
22. Make favicon.ico Small and Cacheable
    
por 06.04.2011 / 00:26
9

um artigo muito interessante aqui onde alguém está usando o IIS para servir arquivos estáticos. Concentra-se principalmente em ajustar as configurações de cache do arquivo IIS para limitar a atividade do disco (que era o seu gargalo). Ele diz que viu um aumento de 20x no desempenho.

    
por 17.05.2011 / 16:21