Problemas de desempenho intermitentes podem ser um verdadeiro horror para rastrear, como você deve ter notado até agora. Quando eu ataco esse tipo de problema, normalmente tento isolar os vários sistemas envolvidos e examino cada um deles:
- Peça ao cliente para usar um sistema "limpo". Não AV / AM / relógio-que-nossos-funcionários-estão-fazendo-app-2012. Peça ao cliente para gravar quando eles notarem um comportamento incomum. (Isso cobre a maioria dos erros de configuração no lado do cliente)
- Faça uma medição contínua de longo prazo (24h +) no link para o cliente e do cliente (se possível). O ICMP é uma escolha decente, mas não perfeita. Existem muitas ferramentas especializadas que podem ser usadas. Certifique-se de medir com quadros grandes, pois problemas de caminho MTU não são incomuns quando se trata de desempenho ruim. (Isso cobre a maioria dos erros de rede)
- Examine seu sistema operacional (e o hipervisor, se estiver virtualizado). Tenha cuidado especial com estatísticas relacionadas ao desempenho, como uso de memória, frames de rede perdidos e uso da CPU. Se você ainda não registrou esses registros, inicie o registro agora. Ter uma base de comparação para comparar torna a vida muito mais fácil. (Isso pega muitos problemas de hardware e software)
- Como o joeqwerty sugere, peça ao seu servidor da Web e banco de dados para registrar quaisquer solicitações de execução longa. (Ajuda a rastrear se o problema está realmente no seu aplicativo)