【发布时间】:2011-12-19 21:07:27
【问题描述】:
所以我有一个 .NET Web 服务正在运行,当我在本地调试并在我的机器本地运行该服务时,请求大约需要 4 秒。但是,当我将项目推送到我的 Web 服务器时,完全相同的请求现在需要大约 1m。我觉得这个请求应该只需要大约 5 秒。我不确定我设置错了什么。
这是我的提琴手结果:
服务器性能:
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
注意时间戳大约是 ~49s
【问题讨论】:
-
如果可以,请尝试在两个应用程序中进行性能跟踪,希望您能找到比应有的速度慢的地方
-
通过这样做? msdn.microsoft.com/en-us/library/bb885203%28v=VS.90%29.aspx 我跑 fiddler 看到了这个:ServerGotRequest: 11:21:42.412 ServerBeginResponse: 11:22:47.085 不过不知道这意味着什么。
-
是的,如果可以的话,还可以尝试使用 jetbrains.com 的 DotTrace
-
好吧,我更新了一些数据,似乎有明显的滞后。我不知道能从中得到什么。
标签: asp.net .net vb.net web-services iis