我在不同的位置有一些Web服务器,并希望从最快(最近的??)服务器加载我的javascript文件。例如,在位置A中,我希望用户从该位置的服务器获取文件,但位置B的用户将从其他服务器获取文件,希望来自位置B的服务器,但这不是必需的。
我已经找到了如何有条件地加载javascript文件,我认为这是一个好的开始。我只需要一种方法来找到哪个是最好的来源(更快的响应)。
谢谢,
答案 0 :(得分:0)
如果您希望获得最小的性能优势,请使用CDN。这将相差几毫秒。 http://jquery.com/download/#using-jquery-with-a-cdn
上有一个CDN列表使用CDN的唯一好处是用户可能早先从另一个网站下载了jQuery库,因此jQuery库可以从它的缓存中重用。 如果遇到性能问题,请尝试分析网站并检查资源运行或加载所需的时间。
答案 1 :(得分:0)
这不是客户应该解决的问题。您应该将服务器置于平衡负载的代理之后。如果代理的带宽不够,那么我认为你运气不好。一个快速而肮脏的解决方案是在客户端执行Math.random()
并根据该选择服务器。它应该非常均衡地平衡负载。
如果要测量镜像服务器的响应时间,则只需引入更多负载。可以说,我们有办法确定响应时间。您可以从所有服务器请求文件,这意味着您只是让一切变得更糟,或者您将等待server1,如果没有及时响应,您将转移到server2。但是通过这样做,您将负载引入了server1。
此外,如果您要ping服务器,那么如果该服务器的可用性能不是真正的指示器。服务器可能能够快速响应,因为响应很短并且不需要真正的IO,但是如果您要请求可能从磁盘读取的文件。