全球CDN节点测试的最主要目标是去验证内容分发网络在全球各个地方的可用性, 还有响应速度以及传输的稳定性怎么样, 这个测试主要是围绕着三个指标来进行的, 那就是节点延迟, 也就是所谓的Ping值, 带宽吞吐速率, 以及丢包率, 等到完成了一轮标准的测试之后, 必须要确保在全球主要的区域里, 节点的延迟是低于100毫秒的, 丢包率是少于百分之一的, 带宽利用率要能够达到签约所规定的峰值的百分之九十五以上。

全球范围内的CDN节点, 通常情况下, 是会覆盖到六大区域的, 也就是说, 北美是其中一部分, 欧洲是一部分, 东南亚是一部分, 中东是一部分, 南美是一部分, 还有大洋洲也是一部分。就拿那些主流的服务商来举个例子吧。

北美和欧洲这两个区域, 是节点分布得最为密集的地方, 单单一国内部, 节点的总数是能够达到20个以上的;对于东南亚来说, 重点部署的位置是在新加坡、东京、孟买以及雅加达这几个枢纽城市里的;在中东地区, 则是覆盖了迪拜以及利雅得这些地方的;至于南美地区, 是覆盖了圣保罗与布宜诺斯艾利斯等地的。

在进行测试的时候, 需要按照那种叫做一级是一级是区域二级是国家三级是城市的这种分级方法去一层一层的做验证, 这样做就是为了确保每一个区域内的能起到代表作用的那些节点,最后都能做出正常的反应。

具体的测试方法需要分为四个步骤来依次完成执行。第一步, 是使用多地域拨测工具从各个目标城市向CDN节点发起ICMP Ping请求, 然后要记录TTFB(首次字节时间)与完整RTT(往返时延)。

第二步, 是通过HTTP/HTTPS请求去模拟真实用户的访问行为, 并且还要测量下载速率与连接建立时间。然后呢, 咱们得在进行业务的高峰时段做压力测试, 具体就是晚上8点到12点这段时间, 目的是为了去把节点带宽的弹性情况看一看, 同时还要去观察一下并发承载能力方面到底怎么样。

再接着就是持续监控的时间需要保持在7天以上, 通过这样的操作来采集丢包率、TCP重传率、SSL握手耗时这一类的稳定性数据, 从而把瞬时波动带来的影响给排除掉。

全球CDN节点测试怎么做?节点分布、测速方法与达标标准(图1)

关于各个指标的达标参考值, 具体情况如下。首先来看节点延迟这一项, 在同一区域内的时延需要小于或等于50毫秒, 而如果是跨越洲际的节点, 其时延则需要小于或等于150毫秒。

其次是带宽方面的指标, 要求单个节点的吞吐量必须达到或者超过每秒钟1千兆比特, 这一标准依据的是节点的具体规格来进行确认。再来看丢包率的情况, 在任意一个持续时间为5分钟的时间窗口内, 数据包丢失的比例都必须严格小于百分之一。

然后是可用性方面, 规定每个月的SLA指标数值不得少于99.9%。对于那些未达到上述标准的节点, 需要被标记为异常情况, 并且应该立即触发告警机制。如果某个节点连续3次进行测试, 结果都没有通过相关要求, 那么就需要启动故障替换流程来应对。

在执行测试任务的时候, 建议大家去采用那个自动化拨测平台, 从而来达成7×24小时不间断的持续监控这样的状态, 就拿由gname.xin所提供的多地域拨测服务来说吧, 它可以一次性地把全球范围内的100多个测试点都覆盖到, 进而自动地去采集延迟、丢包还有带宽等等这些方面的数据, 并且生成可视化报告, 这样可以非常大幅度地降低人工巡检所花费的成本。

关于测试报告的归档, 应该按照每个星期为单位来进行, 这样就把这些内容留存下来了, 最终把它们当作评定CDN服务质量高低的一个客观依据用在这里面。

常见的毛病是有的样子, 比如有些小国家或者特别偏远的地方, 那里头没有直接的连接点, 所以数据包非得经过上面的大中心再转手发出去不可, 这样一来延迟变高一点, 也就是很正常的事情了;另外呢, 等那个安全证书的更新时间一到, 搞不好就会有一小会儿握手连不上去的情况发生, 最好是在测试的时间窗口那里避开证书重新续费的那个阶段才去做试验;万一要是发现测出来的IP地址被禁用了, 那就得赶紧换个出口的地方或者是通过代理那条路子走才行, 免得错误地把节点故障这个锅给背在身上;最后还有这么一条规则, 假如说测出来的数据和心里想要的结果差距超过了百分之二十这么多, 那得老老实实先去找找自家网络有没有毛病, 再看看测的时候用的工具本身是不是出了茬子, 把这些都排除干净了之后, 再去重新测一遍来确认情况。