带合成监控的预缓存 CDN 边缘服务器

CDN 边缘服务器

内容交付网络 (CDN) 是分布式节点的集合,称为边缘服务器,连接到相同的源服务器,并放置在用户位置的本地节点。 如果您使用的是 CDN,则您的网站内容会从最近的边缘服务器传递到用户的位置。 如果没有 CDN,则每次用户请求内容时,都会对源服务器造成压力。 如果你的网站上有很多访问者,它会拖累你的服务器,使其响应速度变慢,更糟糕的是,对用户没有反应。

 

CDN 的工作原理

将 CDN 视为根是源服务器的树,边缘服务器是树节点。 当原始服务器上提供新内容时,它将在所有边缘服务器上分发和缓存。 现在,当用户发出 DNS 请求时,CDN 会中断该请求,并且内容会从最近的边缘服务器提供。 实现 CDN 缓存策略有两种基本方法:

推送网络。 当任何新内容上传到网站时,源服务器会将此新内容推送到 CDN。 然后,CDN 将此新内容分发到所有边缘服务器中,以将其缓存在那里。 这本质上是一种预缓存策略,当第一次对资源发出请求时,我们会最大限度地减少命中和错过。 缓存的内容可供来自边缘服务器的用户用于后续请求。

拉动网络。 在此策略中,没有预缓存。 首次请求任何资源时,CDN 将转到源服务器,获取内容并向用户提供。 然后,此内容将分发到所有边缘服务器,并放入边缘服务器上的缓存中。 在此策略中,发生命中和错过,增加第一次加载时间。

您使用的两种方法之一取决于您使用的用例和 CDN 提供程序。 内容类型在这里也起着重要作用,但同时采用推送和拉取策略的混合方法,在充分利用 CDN 的力量和优势时,是最好的方法。

 

静态和动态内容

现在,并不是您网站上的每一段内容都能够缓存,因此,在使用综合监视深入探讨更好的预缓存策略之前,让我们先先先先谈谈内容类型。

静态内容基本上是存储在服务器上的任何文件,例如,图像、视频、PDF、HTML 文件、CSS 文件、JavaScript 文件等,它不会随着时间而变化,因此静态副本会缓存并由最近的边缘服务器提供。 浏览器还可以缓存静态内容,直到它过期,并在本地从计算机提供。

但是,动态内容在服务器端生成,以响应用户的请求,根据位置、设备、时间、个人设置等。 曾一度无法缓存动态内容,但随着技术的发展,动态内容也可以从边缘服务器进行缓存和提供。

从企业的角度来看,这里需要注意一点。 如果不预先缓存数据,首次使用的用户很可能会面临一击和错,从而增加延迟并降低响应速度。 每一秒的延迟,您的网站的跳出率都会增加。当页面加载时间是 2 秒时,9.6% 的访问者会反弹;如果页面加载时间是 7 秒,32.3% 的用户会反弹。 这些数字可能导致收入大幅下降。

更经常地,无论内容类型如何,CDN 都有一个设置过期的过期时间,用于清除缓存的内容,并引入源服务器的新内容。 此过期选项可以是:

  • 原产地控制
  • TTL(生存时间)规范
  • 永不过期
  • 不缓存

 

如果来自特定位置的用户未对特定内容发出请求,并且内容已过期,则根据缓存过期策略,他们也可能面临”一击即失”情况,从而导致网站的退回率增加。 随着 CDN 实施到位,我们获得三个主要优势:

  1. 性能. 通过减少延迟和服务器负载来加快网站性能。
  2. 可用性。 使数据更可用于应对服务器故障和低带宽。
  3. 安全。 利用 CDN 来躲避 DDoS 和其他对数据的攻击,从而增加整体服务器容量。

 

因此,使用高效的 CDN 策略在边缘服务器上预缓存数据将为您提供各种优势。 但问题是,使用交互式网站、动态内容和复杂的用户路径,如何预先缓存数据? 答案是分布式综合监控。

 

预取呢? 预缓存与预取取解释

在研究监视预缓存资产的最佳方法时,您可能遇到”预缓存”(无连字符)和预取项等术语。 这就提出了一个问题——这些术语(如果有)有什么区别,以及这对您选择综合监控解决方案有什么影响?

简单地说,这些术语之间没有有意义的区别。 此外,没有任何标准组织单独定义这些术语。

但是,值得注意的是,一些最终用户认为术语预取更频繁、更有时限,因为预取用于立即需要的资源,只能访问一次,并且可以在使用后丢弃/删除。

相比之下,这些最终用户中的许多人认为,在描述将多次访问且存储时间较长的资产时,会使用术语 pre-caching(有时拼写为“precaching”,不带连字符)。

一些软件和基于 Web 的公司也根据自己的平台独立定义这些术语。 例如,Google 使用术语”预缓存”(无连字符)来指其 Web 应用程序 Workbox 中可以控制资产加载的方式。

归根结底,最重要的事情是,术语之间没有有意义的区别,它们通常在 Web 开发社区中可互换使用。 但是,如果您想要监视特定类型的 Web 应用程序,则可能需要确保了解这些术语是如何在该特定框架中定义或使用的。

 

合成监测

综合监视是一种机制,通过使用工具和脚本在交互式环境中模拟用户来监视网站和应用程序。 这些工具全天候执行对可能引导路径和业务事务活动的遍历。 通过为站点和应用程序实施综合监视,您可以获得有关性能的重要信息,例如延迟、可访问性、事务损坏等。 有许多第三方 SaaS 选项可用,但您需要选择一种具有多种监控解决方案的选项。 通常,这些解决方案具有即用即用设置,并随时准备就绪。

例如,来自 Dotcom 监视器的 Web 应用程序监视解决方案包括一个名为 EveryStep Web 记录器的点和单击脚本工具。 只需像用户一样浏览您的网站或应用程序,即可创建可用于监视 Web 应用程序的脚本。

 

预缓存 CDN 边缘,支持合成监控

如果使用 CDN,则多个位置的合成监视设置将利用分布式系统在每个边缘服务器上执行综合监视以模拟本地化用户。 因此,在任何用户之前请求内容,预先缓存内容,并最大限度地减少几乎所有用户的首次命中和加载时间。 由于合成监视器设置为全天候执行测试,因此它们可以最大限度地提高在任何用户之前检测上传的新内容的机会。 因此,根据位置、时间和设备对内容进行预缓存,使 CDN 边缘服务器能够更快、高效地为内容提供服务。

 

预缓存 CDN 边缘服务器的优点

  • 监控不同位置不同最终用户的网站正常运行时间。
  • 预缓存内容以加快第一次加载时间。
  • 清除和替换过期的 CDN 缓存,以处理频繁的命中和错过。
  • 监控复杂的业务事务和流程流程。
  • 检测服务器和应用程序故障并实现故障安全。
  • 在问题影响最终用户之前发现并修复问题。
  • 改进战略的基线和基准。
  • 从最终用户的角度分析 UX。

 

如果您使用的是 CDN,但尚未实施综合监控,您可能希望为应用程序设置综合监控,以充分利用内容交付机制,并在不自觉地损失的收入中设置机架。

免费试用完整的 Dotcom-Monitor 平台

 

Facebook
Twitter
LinkedIn
电子邮件
打印