我在卑诗省温哥华有一台IIS服务器。当我加载网站并在网站内进行查询。我在2到3秒内得到结果。我位于卑诗省新威斯敏斯特。 (距服务器约20公里)
但是当西班牙的某个人加载同一个网站时,大约需要10-20秒。
假设互联网速度相同且网站流量相同且查询相同,为什么我在20公里外与9000公里之外的查询之间的速度不同?
距离是否在数据传输中发挥作用?
好的,现在我得到了这个问题的答案。这引出了另一个问题。什么是最可行的解决方案?我们应该在不同国家/地区使用两台服务器实施ARR来实现高可用性架构吗?或者是否有某种方法可以创建优先高速公路以最大限度地减少跳跃的延迟?
答案 0 :(得分:1)
显然,距离确实在数据传输中起作用。造成这种情况的原因可归结为通过几个国家和几个地方以及几个WAN等传输数据---因此需要更多的路由器,需要更多的跳频,因此所需的时间显然会更长。
此外,数据不是简单地传输,而是从模拟转换为数字,反之亦然!它并不像你想的那么简单!您可以归因的另一个因素是另一端的流量更多,带宽有限(网速较慢),系统响应速度慢!
您可以在Windows中使用tr
(traceroute)命令检查两者之间的路由器数量!
但是,我猜你提到的时间因素并不是那么多 - 因为另一端的互联网速度较慢,可能会发生这种情况。另外,这个比例几乎不是第一种情况的3-4倍!
答案 1 :(得分:1)
绝对
我不知道是什么类型的数据,但根据你的表现,我认为数据应该相当大,大约10mb或更多。
将网络视为高速公路网络。如果你想从温哥华前往卡尔加里,那么你所面临的一种延迟是从温哥华到卡尔加里的路程,比如2小时。此外,如果你驾驶一辆长达100公里的suuuuuuuuper长车(无论如何,那就是它),你必须花费大约1小时才能在那里完全开车。
我所提到的只是理想的情况。如果超时,TCP / IP将重新传输您的数据,这意味着更多延迟。
距离可视为数据传输的主要因素。
带宽。