Este é um servidor voltado para a Internet ou um servidor voltado para a Intranet? Eu não me importaria de dar uma olhada em mim mesmo.
Teoricamente, não deve haver nenhum motivo para o IIS demorar a fornecer conteúdo estático - todos eles são roteados por meio do manipulador de arquivos estáticos, o que é extremamente eficiente.
Algumas coisas que você pode experimentar:
Certifique-se de que os sites nunca ocorram (resultando no fechamento do processo de trabalho do IIS - cada pool de aplicativos obtém seu próprio processo binário na memória, w3wp.exe, no qual o httpd é desativado assim que a ligação é resolvida. de 10 segundos ou mais para reiniciar este processo se for desligado) - você pode fazer isso alterando a configuração de inicialização dos pools de aplicativos de "on demand" para "always on".
Altere o pool de aplicativos para "nenhum código gerenciado" - isso altera o modelo de pipeline e garante que as solicitações não sejam executadas pelo mecanismo do asp.net, de qualquer maneira.
Se o servidor nunca hospedará nenhum site asp.net, considere a possibilidade de eliminar esses recursos (removê-los). O mesmo para a compactação dinâmica - você pode remover isso se o servidor nunca executar qualquer asp.net.
Como está o disco I / O? Se o IIS estiver monitorando os arquivos para alterações e recarregando no cache, pode ser que cada soma de verificação do arquivo esteja demorando um pouco devido à baixa E / S do disco. Você está usando ESX ou HyperV para vitualizar? A maneira como o armazenamento de dados foi apresentado ao servidor (disco local vs SAN) pode afetar, um disco armazenado na rede terá E / S mais lenta. Esta é provavelmente uma última reinicialização, mas tenho certeza que a fraca E / S de disco se manifestaria em minhas outras maneiras notáveis primeiro.
Desista e despeje seu conteúdo em um bucket do S3 e, em seguida, sirva-o com uma distribuição de CDN do Cloudfront. :) Apenas diga.