Eu tenho um webapp hospedado que solicita dados de um serviço web REST em nosso escritório. Cada página chama um (ou vários) webservices, que vão do nosso host, através do nosso firewall (um WatchGuard Firebox) para um servidor em nosso escritório.
De repente, o aplicativo diminuiu drasticamente. Determinamos que o webservice está expirando aleatoriamente quando chamado externamente (não há problema quando chamado dentro da rede do escritório).
Tenho certeza de que é a nossa conexão que está descartando a chamada do serviço da Web, por isso escrevi um rápido script php / curl que chama o serviço da web em muitas iterações e mostra os vários intervalos de tempo.
Abaixo está um exemplo de saída, mostrando uma falha e uma chamada bem-sucedida (com um tempo limite de 5 segundos):
http_code namelookup_time connect_time pretransfer_time starttransfer_time total_time
1 0 0.000096 0.0342 0.0000 0.0000 0.0342
2 200 0.000052 0.0332 0.1327 0.1751 0.1752
De acordo com a iteração # 1 acima, as solicitações com falha parecem estar falhando entre connect
e pretransfer
. Não tenho certeza se isso mostra que a conexão foi bem sucedida após o firewall ou o firewall ainda pode causar um problema?
Nosso firewall está exibindo uma série de nondata event
de mensagens de log para a regra de acesso relevante. Nossa equipe de TI me diz que essas são rotineiras, embora não seja possível mencioná-las no Google. Não tenho certeza se isso se encaixa entre conectar e pré-transferir.
Tendo aprimorado o servidor de webservice (testando internamente) e a webapp ativa (testando códigos diferentes em diferentes servidores externos, fico suspeitando da conexão com o escritório. Os eventos nondata firebox poderiam estar causando um problema entre conexão e pré-transferência? ?