在MVC 5,Framework 4.6.1中构建网站。但我的加载速度有问题。
运行fiddler(从未使用过它)后,我发现延迟是在ServerGotRequest和ServerBeginResponse之间,这是在localhost中运行的。
请求数:1
发送的字节数:545(标题:545;正文:0)
收到的字节数:6,263(标题:428;正文:5,835)
实际表现 -------------- ClientConnected:16:24:37.533
ClientBeginRequest:16:24:37.533
GotRequestHeaders:16:24:37.533
ClientDoneRequest:16:24:37.533
确定网关:0ms
DNS查询:0毫秒
TCP / IP连接:0ms
HTTPS握手:0ms
ServerConnected:16:24:37.535
FiddlerBeginRequest:16:24:37.535
ServerGotRequest:16:24:37.535
ServerBeginResponse:16:25:50.469
GotResponseHeaders:16:25:50.469
ServerDoneResponse:16:25:50.469
ClientBeginResponse:16:25:50.469
ClientDoneResponse:16:25:50.470
总体经历:0:01:12.937
响应字节(按内容类型) -------------- text / html:5,835~ headers~:428
我不知道为什么会发生这种情况:|这发生在Debug和Release模式中。
关于在何处寻找原因的任何建议?
答案 0 :(得分:3)
这是一个性能问题。
ServerGotRequest
告诉您已收到客户端向服务器发出的请求,服务器将开始处理您的请求。
ServerBeginResponse
告诉您服务器一直在处理您的请求,现在已经完成,并开始将响应流发送回客户端。
之间发生的事情是任何人的猜测,你不会从这个小组得到一个好的答案,因为你没有包含代码甚至解释你的应用程序正在尝试做什么。
您可以使用一些工具来缩小范围。
您可以启用跟踪:https://msdn.microsoft.com/en-us/library/0x5wc973.aspx 您可以实现一瞥:https://www.nuget.org/packages/glimpse
或者如果您正在使用MVC(我假设您是),那么只需在操作中注释掉所有内容并查看其对性能的影响,然后一次取消一行或两行代码,直到找到违规者为止。
我猜你发现了一个缓慢的DB存储过程,在循环内调用数据库,多个嵌套循环,或者上面三个中的任何一个的组合。
祝你好运!