Por que o IIS 7.5 esvazia o cache de arquivos com muita frequência?

2

Estamos executando um servidor Win 2008 R2 com o IIS 7.5 para exibir arquivos de imagem.

Ele é usado apenas para conteúdo estático, e o armazenamento em cache de arquivos foi configurado para armazenar arquivos em cache por 10 minutos.

No entanto, o IIS freqüentemente limpa completamente o cache (visto usando Perfmon)

Não é reciclagem de pool de aplicativos, não é porque o TTL expirou, então agora estou com prejuízo: - (

Eu incluí uma captura de tela do gráfico de desempenho, onde você pode ver claramente o problema.

Existe algum lugar que eu possa ver PORQUE está fazendo esses flushes?

(Nota: Estou ciente de que poderia detectá-lo anexando um depurador ao processo, mas isso não é uma opção porque é um servidor de produção e não pode lidar com a lentidão que um depurador causaria)

    
por Steffen 15.11.2012 / 10:33

2 respostas

5

Finalmente encontrei a resposta para o problema.

Tivemos isso em nosso web.config para o site (apesar de não executar nenhum código gerenciado no site)

<caching enableKernelCache="true">

Depois de alterar isso para false , o IIS parou de executar essas liberações completas. Ele ainda libera alguns arquivos regularmente, mas não é mais um flush completo (cerca de 50 mil arquivos permanecem no cache)

Nosso cache de arquivos atingiu% aumentou de 5% para 33%, então isso definitivamente ajuda muito.

Não tenho certeza porque o cache do kernel causa esse comportamento, mas posso viver com a pequena sobrecarga de cache no modo de usuário.

Pensei em adicionar isso como uma resposta para ajudar outras pessoas com problemas semelhantes.

    
por 20.11.2012 / 08:42
1

Com que frequência as URLs exclusivas das imagens são acessadas? Se as URLs não tiverem sido buscadas por 120 segundos por padrão, elas serão liberadas.

Veja a chave de registro UriScavengerPeriod no link .

Determines the frequency of the cache scavenger. Any response or fragment that has not been accessed in the number of seconds equal to UriScavengerPeriod is flushed.

    
por 15.11.2012 / 11:10

Tags