Web服务似乎在响应前1分钟超时

时间:2011-12-19 21:07:28

标签: asp.net .net vb.net web-services iis

所以我运行了一个.NET Web服务,当我在本地调试并运行本地服务器时,请求需要大约4秒。但是,当我将项目推送到我的Web服务器时,完全相同的请求现在需要大约1米。我觉得请求应该只需要〜5s。我不确定我的错误。

以下是我的小提琴结果:

服务器性能:

ACTUAL PERFORMANCE
--------------
ClientConnected:           11:21:33.443
ClientBeginRequest:       11:21:42.412
ClientDoneRequest:       11:21:42.412
Gateway Determination: 0ms
DNS Lookup:                 0ms
TCP/IP Connect:                        0ms
HTTPS Handshake:        0ms
ServerConnected:           11:21:13.506
FiddlerBeginRequest:     11:21:42.412
ServerGotRequest:      11:21:42.412
ServerBeginResponse:            11:22:47.085
ServerDoneResponse:    11:22:47.101
ClientBeginResponse:    11:22:47.101
ClientDoneResponse:     11:22:47.101

~1m05s

本地表现:

ACTUAL PERFORMANCE
--------------
ClientConnected:           11:35:50.111
ClientBeginRequest:       11:35:59.533
ClientDoneRequest:       11:35:59.533
Gateway Determination: 0ms
DNS Lookup:                 0ms
TCP/IP Connect:                        0ms
HTTPS Handshake:        0ms
ServerConnected:           11:35:48.845
FiddlerBeginRequest:     11:35:59.533
ServerGotRequest:      11:35:59.533
ServerBeginResponse:            11:36:03.283
ServerDoneResponse:    11:36:03.298
ClientBeginResponse:    11:36:03.298
ClientDoneResponse:     11:36:03.298  

~4s

这是IIS问题吗? Web服务正在调用ClearQuest API,但是当我直接在Web服务器上运行时,没有问题发出ClearQuest请求,因此我已将此作为瓶颈进行排除。

真的卡在这里。感谢帮助。

编辑1:我追溯到这里的主要滞后:

System.Web.Services.Asmx Information: 0 : Return from IHttpHandler.ProcessRequest
Caller: System.Web.Services.Protocols.SyncSessionlessHandler#19197163::ProcessRequest()
ProcessId=4740
LogicalOperationStack=
ThreadId=5
DateTime=2011-12-19T21:21:36.2218996Z
Timestamp=58279486569830475
System.Web.Services.Asmx Information: 0 : Calling IHttpHandlerFactory.GetHandler
    Caller: System.Web.Services.Protocols.WebServiceHandlerFactory#50757320::GetHandler()
    Request Host Address: 192.168.5.15
    Request Host Name: itdotnet.kns.com
    Request Url: [POST] http://myurl.com/websvc/CQAccess.asmx
    ProcessId=5348
    LogicalOperationStack=
    ThreadId=6
    DateTime=2011-12-19T21:22:25.7834480Z
    Timestamp=58279635279292073

注意时间戳约为49秒

1 个答案:

答案 0 :(得分:0)

当我遇到这样的问题时,这是由于服务器执行自动证书吊销检查期间发生的超时。如果您使用一个或多个签名(或自签名)程序集,或者通过SSL使用自签名证书绑定服务,或者可能是代理服务器后面的服务器或没有Internet访问权限,则可能会在您的服务器环境中发生这种情况。 / p>

这篇博客很好地记录了这个问题:

http://blogs.msdn.com/b/andreal/archive/2008/07/19/wcf-service-startup-too-slow-have-you-thought-to-crl-check.aspx

就我而言,最好的方法是切换到具有受信任的第三方签名证书的生产服务器。在其他环境中,我必须禁用证书吊销,并隐式信任发布者证书和所有服务端点的服务器证书。

如果上述内容无法解答您的问题,那么本文可能会提供一些其他资源供您参考:

http://www.codeproject.com/Tips/114132/WCF-First-Call-Slow