并发监控与轮询监控解析

最后更新:
Diagram comparing round-robin monitoring rotating through one location per cycle against concurrent monitoring checking all locations every cycle
轮询监控每次循环轮流检查一个地点;并发监控则在每个循环检查所有地点。

您正在从八个地点设置合成检查。每个地点应该在每个循环运行一次,还是轮流每次运行一个地点?这个设置决定了您多快能发现区域性故障以及在此过程中消耗多少检查次数。

大多数监控平台选择一个默认选项并隐藏选择。Dotcom-Monitor 将其公开,并且这两个选项的行为差异足够大,错误的选择要么会让您被冗余的检查淹没,要么让区域性故障在完整轮换中未被察觉。以下是轮询和并发监控的实际工作方式、它们的不同点以及如何选择。

首先澄清一点。这不是轮询负载均衡。负载均衡器使用轮询将进入的用户流量分散到后端服务器。这里的轮询描述的是监控平台如何在地理位置之间安排其自身的外发检查。名称相同,但流量方向相反。

轮询监控和并发监控的含义

两个术语使得下面的内容更易理解。监控会话 是从一个地点运行的一次单独检查。监控循环 是对您选择的所有地点进行一次完整的检查周期。

轮询和并发描述了会话在一个循环中的分布方式。轮询在每个循环运行一个地点,下次轮到下一个地点。并发则是每个循环运行所有地点。两种模式之间的差异决定了检测速度、成本和数据质量。

轮询监控的工作原理

轮询是默认设置,设计为经济实惠。在您配置的频率下,平台从一个地点发起会话,下一次则从下一个地点发起,依次循环。只要所有检查都显示站点正常,您就能获得广泛的地理覆盖,而无需同时测试全部八个地点。

巧妙之处在于当出现分歧时的处理。一旦某个地点报告与其他地点不同的状态,比如发生错误而其他地点成功,轮询就停止轮换,改为从所有地点运行会话。在您创建、编辑或重启设备之后且还没有可信基线时,也是如此。

因此,轮询并非对区域性问题视而不见。它是自适应的。在一切正常时保持成本低廉,一旦发现异常立即升级为全覆盖。节约成本的代价是时间,接下来的部分将详细讨论。

并发监控的工作原理

并发监控取消了轮换。所有选定地点在每个循环都运行会话,无论前一个循环报告什么。八个地点以一分钟频率运行意味着每分钟有八次检查。

这为您提供了每次间隔的完整地理快照。如果法兰克福的 CDN 边缘变慢,而其他地方保持快速,您将在下一周期看到,而不需要等待轮询到达法兰克福。在 Dotcom-Monitor,开启并发监控作为附加功能,需要激活,并且由于会增加检查量,可能会提高套餐价格。

检测速度与监控成本

这个决策归根结底是检测特定地区故障的速度与愿意投入的检查次数之间的权衡。

因素 轮询 并发
每循环检测地点数 一个,异常时升级为全部 所有,每个循环
区域性故障检测 最多延迟一个轮换周期 即时
检查次数 健康时较少 高且持续
每地点 SLA 数据 稀疏且不均匀 连续且可比较
成本 默认包含 付费附加
最佳适用 广泛的正常运行时间覆盖 地理敏感应用和严格 SLA

检测延迟是人们容易低估的数字。使用轮询时,仅影响一个区域的故障必须等待轮换到该区域后,错误才会触发并升级到全部检查。按八个地点、五分钟频率计算,区域故障可能长达40分钟才被平台响应。并发监控将这个间隔缩短到一个周期。

另一方面是数据。因为并发持续测试所有地点,它产生均匀、可比的每地点记录,这正是验证区域 SLA 或追踪缓慢 CDN 边缘所需。轮询的数据则较为稀疏,且各地点间难以比较。如果您根据区域计算停机成本,这一差异就很重要。

为何基于浏览器的检查一次只运行一个

配置真实浏览器检查时,有一个细节需要注意。Dotcom-Monitor 有一个允许同时检查设置,控制所有地点会话是同时触发还是依次触发。对于基于 HTTP 的检查(ServerView 和 WebView),默认开启,因为各请求无状态且独立,同时发起是安全的。对于基于浏览器的检查(BrowserView 和 UserView),此设置关闭且无法更改。

原因是状态。许多网页应用将登录会话绑定到一组凭证。从第二个地点登录时,首个会话会被踢出。从五个地点同时运行多步骤的EveryStep 事务会互相冲突,产生与应用真实状况无关的错误。

共享状态在并行访问下会出问题。购物车、预订记录或库存计数由五个并发会话更新,结果不会反映单个用户看到的情况。

因此,即使在并发监控下,基于浏览器的会话也是顺序运行的。您仍然在每个循环得到所有地点,但不会同时触发,以避免凭证冲突和共享测试数据影响结果。

何时选择轮询作为默认

轮询比它看上去更适合广泛的用途。适用于以下情况:

  • 您运行广泛的正常运行时间覆盖。 营销网站或博客在一个源站点提供服务,全球表现一致。轮询地点验证其全球可达性,无需每分钟测试所有地点。
  • 您的内容地理分布均匀。 如果没有 CDN 路由或区域基础设施可验证,每个地点测试的是同样内容,并发增加的检查带来信息较少。
  • 预算紧张且您的 SLA 是全球性的,而非区域性的。 轮询升级机制仍能捕获故障,仅以更少的检测次数换取稍长的检测时间。

想象一家 SaaS 公司在十个区域监控其公共正常运行时间页面。页面内容不随地域变化。轮询稳定地监测全球状态,第一个区域错误自动升级到全面覆盖。这就是设计的初衷。

何时选择并发监控值得付费

当地理位置是测试的一部分或者延迟几分钟代价较大时,并发监控就值回票价。启用它的场景包括:

  • 您通过 CDN 或地理路由提供内容。 边缘性能因地区而异,某一点的问题必须测试该地区才能发现。并发监控每个周期观察所有边缘。
  • 您有区域 SLA。 三个区域要证明 99.9% 可用率,需要持续、可比的每地点数据,而非轮询留下的不均匀样本。
  • 结账或登录路径驱动收入。 对于电商结账,一个区域故障如果监测延迟半个轮换周期将丢失订单。即时检测值得额外付费。

举例来说,一家零售商在促销期间通过六个地区运行结账交易检查。支付网关仅对欧洲流量失败,需要秒级响应,而不是等待轮换最终到达欧洲。并发监控配合快速监控提醒使之成为可能。

总结

轮询是经济实惠的默认选择:每循环一个地点,当检测到分歧立即升级到所有地点。适合广泛、地理分布均匀的正常运行时间覆盖。并发监控则在每个循环测试所有地点,实现即时的区域故障检测和整洁的每地点数据,但会增加检查次数并产生附加费用。适合 CDN 服务的应用、区域 SLA 和对延迟敏感的收入路径。

根据您的实际测试需求匹配模式。如果地理因素影响结果,选择并发;如果不影响,轮询足够覆盖。无论哪种方式,要正确设置多地点监控,首先要了解您的检查如何安排。

从您的区域查看运行效果

在全球网络上设置真实浏览器合成监控,亲眼观察轮询和并发在您的网站上的表现。开始免费试用

常见问题

轮询监控与轮询负载均衡是一样的吗?
否。负载均衡轮询在后端服务器之间分配传入的用户流量。监控轮询在各个位置轮换发出合成检查,每个周期一个,以确认站点正常运行,而不是每次都测试所有位置。
并发监控能更快检测故障吗?
对于特定地点的问题,是的。每个周期都会同时检查每个地点,因此区域性故障会在下一个间隔显示。轮询仅在单个检查返回错误时升级到所有地点,这可能会增加一整轮的延迟。
为什么基于浏览器的检查一次只运行一个位置?
许多网络应用将会话绑定到一套凭据或共享状态,如购物车或预订记录。从多个地点同时运行浏览器会话可能会互相注销或破坏测试数据,因此 UserView 检查会按顺序运行。
并发监控是否更贵?
通常。它是一个附加组件,在每个周期运行每个位置,倍增您的检查量,因此可以提高您的套餐价格。在快速区域检测或每个位置的干净SLA数据能证明额外检查合理时开启。
Matthew Schmitz
About the Author
Matthew Schmitz
Dotcom-Monitor 负载与性能测试总监

作为 Dotcom-Monitor 的负载与性能测试总监,Matt 目前领导着一支由优秀工程师和开发人员组成的团队,共同为最严苛的企业需求打造先进的负载与性能测试解决方案。

Latest Web Performance Articles​

什么是应用性能监控 (APM)?

什么是应用性能监控(APM),以及仪器化、收集和关联如何工作,哪些指标重要,以及使APM在生产中有用的最佳实践

立即免费启动Dotcom-Monitor

无需信用卡