存储静态文件(图像、CSS、JavaScript)的最佳性能 - CDN - Blob 存储或 Web 角色

2023-11-30

我有一个关于 CDN - Blob 存储和 Web 角色以及性能的非常基本的问题。

我有一个非常简单的网站,其中包含静态内容、HTML、Js、图像、CSS 和视频(如果用户访问所有网站,整个内容最多可达 3-5MB)。我网站的流量 98% 来自英国,我计划每天最多有 500,000 名独立访问者。

我的问题是关于性能的。

您会建议我在我的网络角色上启用 CDN 吗?我会从中受益吗?即使我的流量“主要”来自英国,使用 CDN 有什么好处吗? CDN 内容是否缓存在互联网提供商(例如 BT)代理上?

您是否会建议我在 Blob 存储帐户上托管图像、视频等,并使用来自 Web 角色的绝对 URL 引用它?在 blob 上托管静态文件(可能在存储帐户上启用 CDN?)或仅将静态文件放在 Web 角色上在性能方面有什么区别吗?

我在网上没有找到很多参考资料,但我猜想 Web 角色、CDN 和存储使用不同的磁盘/缓存层/网络层,这应该会影响性能。


在 blob 存储(或 CDN)中托管静态内容会减轻 Web 角色实例(更具体地说是 IIS)的大量负载。这将减少 CPU 和内存使用量,以及 Web 实例进出的总体带宽。更多细节:大多数浏览器都配置为(我相信)到给定域的两个并发连接。将静态内容移动到 Blob 或 CDN 可为您提供额外的域,并在浏览器中提供更多关于内容下载的并行性。

如果需要,您可以使用 CDN,但最好将 CDN 用于不经常更改的内容(因为您无法强制使内容过期)。因此,如果您有一些不经常更改的 CSS、背景图像等,那么这些都是很好的 CDN 候选者。如果它是每天变化的首页 HTML 文件,我会跳过该文件的 CDN。

就直接访问数据中心的优势而言:CDN 访问不一定是地理位置上最近的节点;它基于多种因素。也就是说,欧洲、中东和非洲地区有一些 CDN 节点(请参阅完整列表here)。您可以稍后添加 CDN,但即使没有 CDN,迁移到 Blob 存储也会对应用程序的性能产生积极影响。

EDIT:与部署捆绑相比,在 Blob 中存储静态内容还有一个优点:您可以非常轻松地更新单个文件,而无需重建/重新部署整个部署包。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

存储静态文件(图像、CSS、JavaScript)的最佳性能 - CDN - Blob 存储或 Web 角色 的相关文章

随机推荐