Estamos tentando corrigir um problema com nosso servidor há cerca de uma semana. Somente nos últimos dias descobrimos qual é o problema.
Apenas algumas informações: executamos uma VM com um host de terceiros. Eu sei que eles usam VMWare, mas não sabem qual versão específica. Eles apenas atualizaram nossas Ferramentas VMWare para a última versão na noite passada. O sistema operacional do servidor é o Windows Server 2008 R2 e deve ter as atualizações mais recentes do Windows. Nós usamos isso como um servidor web, então ele roda o IIS 7.5 e nós rodamos o Coldfusion 9.0.1 em cima disso. O Coldfusion 9 deve estar usando a versão mais recente do JDK 6 (acho que há problemas de compatibilidade com o Java 7).
O que estamos vendo são pequenos períodos de tempo, de 30 segundos a 2,5 minutos, onde o servidor basicamente pára. Ele realmente não bloqueia, mas a CPU cai para quase 0% de uso e nenhuma solicitação da Web é manipulada.
Usando o Monitor de Desempenho do Windows, descobrimos que, quando isso acontece, o IO do disco parece cair completamente. Anexadas estão imagens de gráficos extraídos do Monitor de Desempenho.
O primeiro gráfico mostra quando isso ocorre. Observe que o Disk Idle% (linha verde) cai para 0. Suponho que isso significa que o acesso ao disco está com capacidade total. A CPU cai para perto de 0%, com picos ocasionais. A linha roxa é o comprimento da fila de disco, que eu assumo mostra quantas operações de E / S de disco estão pendentes no sistema. Isso é tipicamente muito baixo, por volta de 1 ou 2, muitas vezes 0. Quando esse fenômeno ocorre, isso aumenta drasticamente (o que faz sentido se houver algo errado com o acesso ao disco).
O segundo gráfico mostra quando as coisas voltam. A CPU está atrelada à medida que é iniciada a partir de uma fila de solicitações da Web e outras coisas que foram bloqueadas, mas as estatísticas do disco voltam ao "normal".
Nem sempre, mas quando isso acontece e a interrupção é muito longa (alguns minutos), também vemos alguns avisos registrados no log de eventos do sistema Windows. A fonte é "LSI_SCSI" e o ID do evento é "129" com uma mensagem geral de "Redefinir para o dispositivo, \ Device \ RaidPort0, foi emitida".
Quando isso começou a acontecer, pensamos que era algo com nosso código, mas depois de ver tudo isso acontecendo, achamos que é algo com o sistema operacional ou com relação à VM / VMWare. Eu não acho que é relacionado a carga, pois se fosse eu acho que nós estaríamos vendo tanto o uso de disco alto e alto uso da CPU. O fato de a CPU ser baixa me leva a acreditar que os processos estão apenas bloqueados, esperando que as solicitações de E / S retornem. Estamos trabalhando com nosso provedor de hospedagem enquanto eu escrevo isso para descobrir isso, mas pensei em experimentar aqui algumas ideias. Agradecemos antecipadamente por qualquer ajuda!
Primeiro gráfico
Segundográfico