1

我正在考虑一个高流量网站(每天数百万次访问)的解决方案,其中一些内容直接从 Windows Azure Blob 存储提供给访问者。Blob 存储提供的内容是预先计算的个性化博客;也就是说,不是许多用户共享的通常静态内容。我的目标是以低延迟提供这些内容。

该网站的受众与欧洲的一个国家密切相关。因此,第一个合乎逻辑的举措包括为存储帐户选择一个地理位置,该地理位置恰好在地理上接近目标国家。

然后,我想知道,在这种情况下,使用 CDN 功能是否会进一步改善延迟?特别是,它是否仍会改善首次检索内容的延迟?

4

3 回答 3

6

在您描述的场景中,它可能会更慢。这是因为(正如@Jaxidian 指出的那样)在请求内容之前不会发生缓存。

没有 CDN:用户从 blob 所在的数据中心请求内容(目前有 8 个数据中心选项)。内容直接返回。

使用 CDN:用户从“最近”(网络意义上的最接近)数据中心(今天有 24 个 CDN 存在点)拉取。检查本地 CDN 缓存。如果数据不在缓存中,则从源数据中心请求内容并填充缓存。然后将内容返回给用户。对于第一个检索请求,这显然会损害延迟。

但是,对于博客,可能会有一些相当静态的内容(样式表、javascript、徽标、其他“博客范围”的内容)在单个用户博客的页面之间很常见 - 以及平台上所有用户共有的一些其他内容 -通过 CDN 为重复访问提供服务会更有价值。

请注意,(今天)Windows Azure CDN 无法强制任何 CDN 节点加载数据(只有外部请求会这样做),也无法从 CDN 中碰撞项目(仅使用 HTTP 缓存标头),所以您需要注意在 CDN 中缓存内容的时间(考虑修改已发布的博客文章时)。

于 2013-04-26T17:36:23.440 回答
0

不确定这是不是事实。从客户端到服务器的网络连接可能很慢,而从客户端到 CDN 代理 -> 目标服务器的连接更好/更快。所以你不能确定,但​​我同意整体改进不应该是显着的。

于 2013-04-29T20:01:21.593 回答
0

您可以使用网站 WebPageTest 测试从世界各地加载您的网站:http ://www.webpagetest.org/

报告非常清晰和完整。我还使用 Azure Blob 部署了一个网站,是的,确实第一次调用速度较慢,但​​是如果您希望每个资源在全球范围内都有大量流量,那么这是一个好主意。

于 2013-07-09T12:10:48.523 回答