在我的Angular2项目中,我有一个通过HTTP加载JSON数据的组件,并将其作为网格显示在页面上。网格具有分页,每次请求新的网格页面时,组件都会执行新的HTTP GET。开发站点托管在localhost上,Web服务也是如此,但它们使用不同的端口号。
该组件可以正常运行。但是,我注意到在谷歌浏览器中,HTTP GET响应时间似乎波动起来了。没有明显的原因。这只发生在Chrome中。在Firefox中没有问题。
当我将网站部署到网上时,Chrome或Firefox中没有任何问题,因此此问题特定于Chrome +我的开发环境/可能是localhost网址。
以下是开发网站上我的Google Chrome网络标签的屏幕截图:
如果查看时间列,您可以看到每个连续请求的时间在大约80ms到380ms之间波动。 380毫秒的时间差不多5倍,因此,每当响应速度变慢时,您就会发现网格组件刷新明显延迟。同样,这只发生在Chrome中。
您可以从上面的示例中看到,网络服务在大约75毫秒内响应,但Chrome报告整个操作需要377毫秒?!看看时间我不知道377ms来自哪里,因为其他数字显然不会达到377ms。但是,看一下视觉时间条,DNS Lookup
和Initial Connection
之间存在巨大差距!
正如您从上面的时间中看到的那样,没有DNS lookup
或Initial Connection
部分,就像之前的屏幕截图中有点奇怪一样?
有没有人对我如何进行针对性解决问题有任何建议?
非常感谢任何帮助:)
答案 0 :(得分:0)
快速更新:我设法通过为我的开发站点使用不同的主机名来解决问题。
我在我的hosts文件中添加了127.0.0.1 testsite
,然后将我的开发服务器网址更改为http://testsite:3000
。我之前使用的是http://localhost:3000
。之后,HTTP GET全部下降到一致的80ms-ish,并且在Developer Tools的Network选项卡中没有更多的DNS Lookup问题。
不完全确定来源,但使用localhost
作为主机导致某个地方出现问题。