O mundo Web é uma das coisas mais complexas que existem quando o assunto é identificar um problema de performance ou não funcionamento de uma determinada feature. Estou falando de grandes sites ou portais web que possuem uma infraestrutura de mais de 30 servidores para suportar as suas operações.

Quando ocorre um problema na camada do usuário, como por exemplo, um erro de não exibição de um determinado campo no site ou configuração, várias possibilidades e camadas de infra deverão ser analisados antes de apontarmos um possível culpado. O desenvolvedor da aplicação, muitas das vezes, deverá ser acionado para que ele verifique se há algo de estranho.

Uma dica que eu do é a instalação de 2 browsers no seu computador, um é o famoso Internet Explorer, onde várias empresas e clientes que atendo enviam documentos informando que além de ser o browser padrão da empresa, há uma versão homologada para utilização, na grande maioria dos casos é a versão IE 7. Digo para vocês instalarem nas suas máquinas pois muitos que leem este post utilizam outros sistemas operacionais diferentes do Windows, um dica é que diversos problemas que ocorrem no IE também ocorrem no Chrome, já senti isso na pele, dai que uma boa alternativa para testes do IE seria utilizando o Chrome, mas eu não garanto nada.

Outra dica que eu do é referente às ferramentas de análise de tráfego HTTP, já comentei sobre algumas aqui no blog, mas as ferramentas que eu mais uso são:

No I.E. O httpwatch, infelizmente ele é pago, mas uma das melhores em minha opinião. Existe a opção de utilizar o Fiddler2 no IE, mas não é tão intuitivo quanto ao httpwatch.

Para o Firefox eu utilizo o addon Live HTTP header, excelente e já quebrou muitos galhos.

Com estas ferramentas de análise do tráfego HTTP é possível verificar todo o caminho percorrido de uma requisição feita por um usuário a partir de um browser até a resposta do servidor, tendo assim uma análise de onde está o possível problema, seja ele um servidor ou em um nó de cluster.

Uma coisa importante é o teste de compatibilidade de browser que deve ser executado antes de uma aplicação web entrar em produção, o desenvolvedor tem que ter experiência de criar uma aplicação que seja compatível para os diferentes tipos de browser existentes no mercado, há formas de vocês, de infraestrutura, auxilia-los com a configuração ode alguns parâmetros nos HTTPD servers, parâmetros esses que forçarão a compatibilidade. Mas vejam, a responsabilidade de assegurar que a aplicação funcione em qualquer browser é do desenvolvedor.

Ainda falando sobre troubleshooting ou resolução de problemas Web, poderá haver casos em que será necessária a utilização de ferramentas como o TCPDUMP para analisar com um nível maior de detalhes o que está ocorrendo com a comunicação de um conjunto de servidores e os clientes que os mesmos estão atendendo, por isso é importante que um administrador Web tenha conhecimentos de redes, haverá um dia e hora que esses conhecimentos lhe salvarão de um problema daqueles.

A dica é: Quanto mais ferramentas você tiver e dominar, mais fácil será para resolver um problema que caiu no seu colo.