Temos uma configuração de ambiente MSMQ bastante grande que hoje decidiu parar.
(tudo é uma VM no vSphere 4.0 Update 1)
Existem 8 Servidores Web que recebem dados de clientes na rede. Todas essas máquinas têm o MSMQ instalado e simplesmente enviam a mensagem do MSMQ para o servidor MSMQ principal. As mensagens estão atualmente empilhadas na fila de saída. Essas máquinas são o Windows 2008 Web Edition com 2 GB de RAM e 2 vCPUs.
Temos um servidor MSMQ em Cluster (Windows Cluster Server) que recebe as mensagens dos 8 servidores da web. Não há limite na quantidade de dados que podem estar nas filas. O disco rígido é de 50 Gigs, e há 46 Gigs de espaço livre. Essas máquinas são o Windows 2008 Enterprise Edition com 8 GB de RAM e 4 vCPUs. O cluster costumava ter 2 vCPUs, mas a carga da CPU estava atingindo 100%, então eu aumentei os dois nós do cluster do Windows para 4 vCPUs.
Existem 4 servidores de aplicativos que lêem as mensagens das filas e as processam.
Normalmente tudo isso funciona perfeitamente, mas não hoje.
Esta manhã tudo está correndo muito devagar. Os 8 servidores da web estão exibindo até 300 mil mensagens nas filas de saída. O servidor em cluster atualmente mostra mais de um milhão de mensagens nas filas (algumas são tão baixas quanto 200k).
Se eu olhar para o perfmon nos 8 servidores da web, mostrarei que estou calculando a média de 2 mensagens enviadas por segundo. Se eu olhar para o perfmon no cluster, ele mostrará que ~ 7 mensagens por segundo estão entrando no cluster.
As máquinas que estão fazendo a leitura não recebem muitas mensagens cada. Os serviços mais rápidos recebem 10-12 mensagens por segundo, os mais lentos exibem 0 ou 1.
As únicas mudanças recentes é que mudamos o número de servidores Web front-end de 4 para 8. Fizemos isso há cerca de 2 semanas sem problemas. Na terça-feira nós os desligamos para ver como os 4 restantes poderiam lidar com a carga. Na quarta-feira, voltamos a ligar as quatro novas máquinas.
O disco no cluster mostra um IO muito baixo e nenhum enfileiramento.
Por segurança, atualizei o PowerPath para a versão mais recente, mas isso não ajudou em nada.
Os 8 servidores da web estão em uma vLAN, e os servidores de cluster e os servidores de aplicativos estão em uma segunda vLAN. Não há firewalls entre as vLANs.
E não há nada de útil nos logs do aplicativo ou do sistema em nenhuma das máquinas.