使用内容交付网络(CDN) 的优点和缺点是什么?
何时使用 CDN?
CDN 是性能提升器吗?
4 回答
使用内容交付网络 (CDN) 的优点和缺点是什么?
缺点可能是它要花钱,并且会增加部署过程的一些复杂性。
主要优点是提高了将内容交付给用户的速度。
何时使用 CDN?
- 当您拥有一个带有某种类型的静态内容(图像、脚本、CSS 等)的流行公共网站时,这将是最有效的。
CDN 是性能提升器吗?
- 一般来说,是的。当用户发出特定请求时,将动态确定最接近该用户的服务器(根据服务器和用户之间的最小节点数)。这优化了将内容交付给该用户的速度。
另一个需要考虑的事项(最近被推到我们身上):您的客户可能会阻止 CDN!我正在使用 Microsoft 的 jQuery CDN,去年秋天我们从 microsoft.com 主机名更改为 ajax.aspnetcdn.com(以避免下载 jQuery 时不需要的 cookie)。从那以后,我们有几个客户的网络过滤器阻止了 aspnetcdn.com 并不得不手动将其列入白名单。
我们将继续使用 CDN,但它让我们看到了它可能导致的另一个问题。
每个 CDN 提供商都是不同的,但您应该真正了解他们的网络以及它如何影响您的目标受众,特别是如果您的网站受众在世界某个地方高度本地化。
在我们的测试中,我们发现大多数用户(取决于他们从哪个 ISP 连接)没有看到任何性能优势,因为我们正在考虑使用的 CDN 提供商没有与他们的上游提供商配对。数据包没有沿着“主管”路由,如果我们继续前进,性能将会下降。
话虽如此,上述情况可能并不常见,但测试仍然是个好主意。使用来自 CDN 的资源构建您的站点版本,并在不同的语言环境和不同的连接上进行测试并测量结果。
还有其他好处;浏览器利用多个域,同时请求更多,服务器负载更少等。一般来说,CDN 是一个不错的选择。
如果大量内容来自 CDN,CDN 就是性能提升器。
通常,您每次都有两个连接来获取每个域的内容,因此每个项目都是一个连接。
如果您在 CDN 上有来自另一个域的内容,您的站点就有更多连接,并且您的站点加载速度会更快。
我通常将 CDN 用于 JavaScript 库,并且仅当我信任 CDN 并检查您要使用的 CDN 的正常运行时间时。