我正在考虑针对高流量网站(每天数百万次访问)的解决方案,其中一些内容直接从Windows Azure Blob存储提供给访问者。 Blob存储提供的内容是预先计算的个性化博客;也就是说,不通常的静态内容在很多用户之间共享。我的目标是以低延迟提供此内容。
该网站的受众与欧洲的一个国家密切相关。因此,第一个逻辑移动包括为地理位置接近目标国家的存储帐户选择地理位置。
然后,我想知道在这种情况下,使用CDN功能是否会进一步改善延迟?特别是,它是否仍会改善首次检索内容的延迟?
答案 0 :(得分:6)
在您描述的场景中,它可能会更慢。这是因为(正如@Jaxidian指出的那样)在请求内容之前不会发生缓存。
没有CDN:用户从blob所在的数据中心请求内容(今天有8个数据中心选项)。内容直接返回。
使用CDN:用户从“最近”(网络意义上最近)数据中心拉出(今天有24个CDN存在点)。检查本地CDN缓存。如果数据不在缓存中,则从源数据中心请求内容并填充缓存。然后将内容返回给用户。对于第一个检索请求,这显然会影响延迟。
然而,对于博客,可能会有一些相当静态的内容(样式表,javascript,徽标,其他“博客范围”内容)在单个用户博客上的页面中常见 - 以及所有用户共有的一些其他内容平台 - 通过CDN提供重复访问更有价值。
请注意,(今天)Windows Azure CDN无法强制任何CDN节点加载数据(只有外部请求执行此操作)并且无法从CDN中删除项目(仅使用HTTP缓存标头) ),所以你需要注意你在CDN中缓存的时间长度(考虑修改已发布的博客文章的时间)。
答案 1 :(得分:0)
不确定这是事实。 从客户端到服务器的网络连接速度很慢,而从客户端到CDN代理的连接可能会发生 - >目标服务器更好/更快。 所以你不能肯定,但我同意整体改进不应该是重要的。
答案 2 :(得分:0)
您可以使用网站WebPageTest测试您在世界各地的网站加载:http://www.webpagetest.org/
该报告非常清晰完整。我还使用Azure Blob部署了一个网站,确实是第一次调用速度较慢,但是如果你期望每个资源上有大量的全球流量,那么这是一个好主意。