全球针对cdn节点开展测试的最核心目的, 其实是用来验证处在各个不同区域的边缘节点, 在面对那些终端用户的时候, 提供的实际服务质量到底是一个什么样子的状态。

想要把一次完整的测试做下来, 就必须把四项指标全都给覆盖进去, 这四项指标具体就是指网络延迟也就是rtt、下载带宽、还有节点的可用性也就是请求成功率, 以及丢包率这样的情况。

如果人们仅仅是去观察延迟的情况, 或者只是单方面去看那个下载带宽的数据的话, 那就完全没办法去反映出这些节点在真实环境中所呈现出来的表现状况。

四项核心指标与判定标准

1. 网络延迟(RTT)

所谓同城或者属于同一片区域的场景, 其延迟时间应该小于或等于30ms。

国内跨越省分进行连接, 延迟时间需要控制在六十毫秒及以下。

从中国到东南亚的延时是小于或者等于一百五十毫秒。

从中国前往欧洲和美洲, 网络通信时的延迟数值是不超过每秒二百五十毫秒。

一旦这个数字超过了前面所说的界限, 那就说明这条通道的情况不对了。

2. 下载带宽

我们使用的是1MB或者10MB这样的标准测试文件, 然后进行单线程下载, 只要其速度能超过节点标称带宽的90%, 就算合格。

3. 节点可用性

用户连续进行10次HTTP与HTTPS网络请求操作, 当整体成功概率达到百分之九十九及以上的水平时, 系统判定为常规常态状态;若在操作过程中发生任何时长超限情况, 或者服务器端返回的响应代码属于五千及更大的异常类别时, 该次进程将被认定为异常状态。

4. 丢包率

通过ICMP或者TCP的方式进行探测, 如果发现丢包率小于1%, 这就属于正常情况;如果丢包率大于5%, 就判定为链路出现严重劣化。

测试操作全流程

进行第一步, 也就是要把测试的范围明确给划定出来。

需要列出那些需要被覆盖的全部区域节点, 这些节点包括华北、华东、华南、西南、东南亚、北美、欧洲和中东等等内容, 同时应该记录对应每一个节点的访问域名或者IP地址这个信息。

全球CDN节点测试方法:延迟、带宽与可用性怎么测最准(图1)

进入第二个步骤, 对所使用的检测方式展开选取这一动作。

延迟这个事, 是用那个命令来弄的, 就是curl这个工具, 后面带着-o加上/dev/null这个路径,再带上-s这个参数全球CDN节点测试, 然后跟上-w这个参数, 里面写着%{time_connect}这串字符, 最后再加https://目标节点这么个网址。

所谓的带宽, 其实是指下载一个指定好的测试文件的过程, 并且要把这个过程花掉的时间给记录下来, 然后吞吐量就等于文件大小除以耗时。

可以通过持续去发送那些请求, 然后把得到的结果进行统计, 这样做就可以得出关于可用性以及丢包情况的数据, 或者你也可以选择直接使用一些专门的 CDN 监控平台来完成这项工作。

可以通过gname.xin提供的全球CDN节点测试入口, 来支持多区域的并发处理。这个功能允许使用者一键对20余个区域节点发起并发探测。系统会自动汇总有关延迟、带宽、可用性以及丢包四项数据的信息。最终, 它会生成一份可视化的对比报告。

执行步骤3, 然后进行接下来的测试环节。

为了保证能够真实反映出终端用户在日常生活中所感受到的那种状况, 所以需要确保这些请求是从分布在不同地理位置的真实客户端那里发出来的, 而绝不是只局限于某一个单一的机房里, 并且为了确保数据的可靠性, 每一轮测试都要重复进行不低于3次的操作, 最后把这些结果取平均值来处理, 从而尽可能地排除掉那些因为偶发性网络波动所带来的不必要的干扰影响。

进行数据记录的这个过程, 并且还要把得到的结果拿来做个对比。

要把这个结果填进那个标准的表格里, 然后横向去对比一下同一区域里不同节点之间的差异, 再纵向去看一看跟上次测试相比有哪些变化的趋势, 最后一定要明确地把那些异常的节点以及它们的具体指标给标记出来。

异常判定与排查路径

延迟偏高这一状况出现时, 需要先去确认一下DNS是否已经被解析到了最近的那个节点上面, 然后接着使用mtr或者是tracert来对中间的路由进行检测和排查, 看看到底是否存在有绕路的情况发生。

因为带宽不够而受到影响, 所以需要先排除是不是由于客户端出口带宽出现了瓶颈, 接着再换成一个更大的测试文件重新进行验证来复测, 最后还要去确认源站在进行回源操作的时候其带宽有没有受到限制。

可用的比率非常低, 需要把具体的状态码给记录下来,以此来分辨出是源站出现了5xx错误全球CDN节点测试, 也就是表示源站发生了故障,还是节点自身发生了超时大城群众说事, 这通常是边缘节点出现了故障, 然后针对这些不同的情况分别去进行定位和处理。

现在的情况是丢包现象极为严重, 你需要去检查节点所在机房的出口链接是否出了问题。如果有必要的话, 你就需要联系上游的运营商去排查是否存在物理层面上的问题。

测试频率与长效机制

在生产环境里面, 核心节点每5分钟就自动执行一次巡检操作, 而全量节点则是每30分钟才进行一次相应的巡检工作。

为新节点提供上线服务保障, 在连续72小时的时间里把监控频率设定为每1分钟一次执行高频检查任务, 直到确保各项指标均处于稳定状态以后才将工作模式转移到常规频率的例行巡查程序中来。

在每个月度和每个季度的时候, 要把所有的节点都重新做一次完整的测试, 然后把质量报告给输出出来, 这个质量报告要用来当作是供应商的服务等级协议考核和续约的依据。

以上流程可以用来给CDN供应商做选型和比价, 也可以用来对自建CDN进行上线验收, 还能够在日常运维里做质量监控, 这样就能让世界各地不同区域的用户在访问的时候, 体验能保持一样的标准, 而且处于可控之中。