Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 为什么Chrome Timeline显示的时间比服务器显示的时间长?_Asp.net_Asp.net Mvc_Google Chrome_Timeline - Fatal编程技术网

Asp.net 为什么Chrome Timeline显示的时间比服务器显示的时间长?

Asp.net 为什么Chrome Timeline显示的时间比服务器显示的时间长?,asp.net,asp.net-mvc,google-chrome,timeline,Asp.net,Asp.net Mvc,Google Chrome,Timeline,我们正在尝试优化我们的ASP.NET MVC应用程序,并在服务器端日志和客户端延迟之间获得较大的时间差 在Chrome in Timeline中刷新页面时,显示4.47秒: 从图中我了解到,服务器端代码的执行时间应为3.34s,但在我们的服务器日志中,我们有以下内容: 开始请求15:41:52.421 结束请求15:41:53.218 预发送请求头15:41:53.218 发送前请求内容15:41:53.218 所以,根据服务器端日志,代码执行总共只花了797毫秒。 这种情况并非总是发生,

我们正在尝试优化我们的ASP.NET MVC应用程序,并在服务器端日志和客户端延迟之间获得较大的时间差

在Chrome in Timeline中刷新页面时,显示4.47秒:

从图中我了解到,服务器端代码的执行时间应为3.34s,但在我们的服务器日志中,我们有以下内容:

  • 开始请求15:41:52.421
  • 结束请求15:41:53.218
  • 预发送请求头15:41:53.218
  • 发送前请求内容15:41:53.218
所以,根据服务器端日志,代码执行总共只花了797毫秒。 这种情况并非总是发生,而且Chrome时间线显示的时间往往非常接近服务器日志。但有时我们会有几秒钟的延迟


这种延迟是从哪里来的?

有很多东西会偶尔影响时间到这样的程度,即使在这种情况下增加近3秒有点过分。因为你没有提到你的网络是如何建立的,你使用什么操作系统等等, 我将尝试总结一份清单,列出我在处理这种延迟时想到的事情,按概率排序

这里的主要问题是等待时间占总时间的一部分,你应该集中你的侦探才能。

请注意,答案非常笼统,因为这个问题实际上没有说明服务器、客户端计算机或它们之间的网络(如果有)的配置。因为你说延迟并非一直存在,所以你需要瞄准一个或多个移动目标

防病毒 如果您有一个internet屏蔽或类似命名的组件,那么防病毒软件似乎可以随机延迟某些连接,而其他连接几乎不受影响,这并不少见。对于浏览器来说,这是透明的(这只是一个延迟,不管是什么原因造成的),因此等待

网络问题 特别是如果您通过无线网络或配置不良的有线网络连接,即使网络设备上的标签上显示TurboSpeedTM,也可能会出现几秒钟的延迟

服务器端问题 服务器可能会以应用程序内计时器未涵盖的方式过载以前的请求,因为在执行脚本之前和之后,服务器会执行许多步骤

客户端操作系统问题 就像杀毒软件一样,操作系统可以出于各种原因几乎随机地延迟你的数据包


在查找此类问题时,我建议尝试在服务器本身上执行查询并比较结果时间,尽可能尝试网络设置和操作系统的组合,与具有许多未知或外部因素的网络环境相比,更喜欢计划良好的网络环境(请阅读wireless)并使用一些包嗅探软件(如)来检查浏览器是否撒谎。这仅仅是问题的开始:)

仅当问题本身与问题有关时才更新问题,如果找到解决方案并将其标记为正确时,则创建新答案。