none
Ocorrência de TimeOut com baixa requisição RRS feed

  • Pergunta

  • Prezados,

    Desenvolvi um WS usando WCF.
    O processamento que ele faz é praticamente nada. Faz um acesso a dados, valida algumas coisas e retorna ao usuário.
    Em ambiente de desenvolvimento, tudo funcionando beleza com os testes que fiz. Quando coloquei no servidor, e fiz alguns testes, ocorreram erros de TimeOut (tempo padrão de 1min).
    A quantidade de requisições não simultâneas, mas em intervalo de menos de 5 segundos, chegou ao máximo de 5. Em mais 50% dos casos deu timeout.
    O único IO que poderia estar causando esse problema, seria o banco. Mas ele está funcionando em perfeitas condições.
    Fiz outros testes para descobrir o motivo e me parece que em algumas das requisições o WS não está respondendo, ou seja, nem iniciou execução.

    Os servidores estão respondendo normalmente em sua carga padrão. Nenhuma alteração foi verificada.
    Alguém tem idéia do que poderia ser? Segue abaixo Stack Trace da exceção.

    Valeu!!

    WebException: The operation has timed out]
       System.Net.HttpWebRequest.GetResponse() +1532114
       System.ServiceModel.Channels.HttpChannelRequest.WaitForReply(TimeSpan timeout) +40

    [TimeoutException: The HTTP request to 'http://myws/xxx.svc' has exceeded the allotted timeout of 00:01:00. The time allotted to this operation may have been a portion of a longer timeout.]
       System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(WebException webException, HttpWebRequest request, HttpAbortReason abortReason) +501
       System.ServiceModel.Channels.HttpChannelRequest.WaitForReply(TimeSpan timeout) +208
       System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout) +341

    [TimeoutException: The request channel timed out while waiting for a reply after 00:01:00. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout.]
       ProjetoClass.MeuMetodo() +177
       Modulos_Geral_Login.Page_Load(Object sender, EventArgs e) in D:\wwwroot\xxx.aspx.vb:6
       System.Web.UI.Control.OnLoad(EventArgs e) +99
       System.Web.UI.Control.LoadRecursive() +47
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1436
    quinta-feira, 9 de outubro de 2008 13:45

Respostas

Todas as Respostas