CDN 全称 Content Delivery Network,即内容分发网络,它能够有效的避开互联网上有可能影响传输速度和稳定性的因素,使得用户请求的内容传输更加快速和稳定。将静态资源缓存到离用户比较近的节点上,不用千里迢迢去访问服务器。这样不仅能够加快这些资源的访问速度,也能够降低服务器的带宽压力,有效降低服务器负载。CDN 能够显著的优化网站的访问速度,有效提升用户的实际体验。那么怎么使用 CDN 来加速网站内容呢?
1. 需要选择 CDN 服务商(提供边缘节点的供应商)
2. 在 CDN 服务商上开通 CDN 的服务。
3. 接入需要加速的域名。
4. 在域名解析的供应商上配置域名对应的 CNAME,通过简单的配置就能使用 CDN 来加速网站。
用 CDN 加速网站的第一步是要选择一个 CDN 供应商,提供 CDN 服务的供应商国内有腾讯云、阿里云、七牛云等各个云厂商,国外也有 Google、AWS、Gloudflare 等,选择 CDN 服务商优先考虑的是 CDN 的服务质量,其次才会考虑其他因素,毕竟购买 CDN 服务的首要目的就是加速网站,那么选择一个合适的 CDN 服务商就非常重要了。利用 CDN 加速网站后,CDN 对我们来说就是一个黑盒,不能仅仅依靠 CDN 厂商的监控数据来衡量 CDN 的服务质量。那么怎么去衡量 CDN 的质量就成为了瓶颈。如果 CDN 不可用,或者 CDN 耗时比较大,这会得不偿失。
解决使用 CDN 过程中遇到的这些问题,首先先要确定如何衡量一个 CDN 的服务质量,需要制定一些核心指标量化 CDN 加速过程的数据,通过这些数据来衡量 CDN 加速的好坏。使用 CDN 加速的场景可以分为四个场景:小文件、大文件、音视频点播和音视频直播,在这四个场景中第一个考虑的因素当然是可用性,CDN 能不能正常的提供加速服务是一切的前提,CDN 服务可用性度量前提是要保障源站服务可用,基于本文所提的方法也可以对源站的服务进行监控。小文件一般是网页素材,通常是 html、js、jpg、png、css 等这些文件,这类小文件对延迟最为敏感。前端请求一个网络资源可以分析四个过程:DNS 查询、TCP 连接、请求响应、内容传输,小文件一般关注前三个过程的用时,内容传输的用时很小,参考意义不大。
DNS 用时:DNS 用时是衡量域名解析用时,DNS 用时的长短和 CDN 的调度策略也有一定的关系。TCP用时:TCP 用时是指解析到的 IP 创建 TCP 连接的时间,TCP 建立连接的流程是固定的三次握手,TCP 用时能够反映出 CDN 的节点资源和调度策略能力,一般离用户越近的节点 TCP 用时越短。首包用时:首包用时是衡量小文件场景下 CDN 的一个关键指标,从用户发起请求到 CDN 响应首包内容,这个过程能够最大程度上衡量 CDN 的处理能力。大文件类型一般主要包括一些下载安装包,通常是 apk、rar、zip 等一些大于等于 10M 的文件。大文件的场景下相对小文件比较简单,一般对 CDN 的质量要求没有这么苛刻,核心衡量指标用下载速度或下载用时。平均传输速度:平均传输速度用来衡量大文件传输的平均速度。传输用时:传输用时用来衡量下载大文件所需要的时间。音视频点播通常是 mp4、flv、mkv、wmv 等音视频文件,直播通常是一些 rtmp、hls、httpflv 协议的文件。音视频场景和大文件场景很类似,但是在这种场景下对 CDN 的服务质量要求要严格的多。首次缓存时间:首次缓存时间是用户从打开到看到视频画面的时间,会受到域名解析、TCP 连接,首包加载的影响。卡顿率:卡顿率是衡量用户播放体验的一个很重要的指标, 100 个用户有 90 个播放过程无任何卡顿即卡顿率为 10%。定义好了 CDN 的衡量指标,下一步就是对 CDN 加速进行监测,需要构建一个平台来对 CDN 的服务质量进行监控,并能够通过对比分析,告警等手段对 CDN 质量进行持续跟进保障。针对 CDN 加速域名,需要通过布置众多的拨测点对域名加速域名进行访问,收集访问过程中的核心指标数据,对这些数据进行汇聚之后进行存储,再对这些结果进行对比分析和告警。CDN 的核心指标数据要通过访问 CDN 加速域名进行获取,编写好收集这些核心指标的程序后,需要把这些程序布置到各个地区的拨测点上。对于每个拨测点收集到的核心指标数据,需要进行数据汇聚计算,例如需要获取某个时刻的 DNS 用时,应该是每个拨测点在当前时刻的 DNS 用时取平均值,或者取 95 分位数。需要对核心指标数据持续进行检测,最核心的指标可用性,当可用性下降时要及时进行告警。从以上的步骤来看,构建一个核心监控系统来监控 CDN 服务质量显得有点困难,也可以选择一些现有的监控平台对 CDN 服务质量进行监控,下面是介绍利用腾讯云云拨测对 CDN 质量进行监控。
[点击查看大图]
[点击查看大图]
创建拨测任务选择任务类型,文件下载任务对应小文件和大文件的场景,音视频点播和直播可以通过音视频体验任务类型进行监测。拨测点支持国内和国外的拨测点,并且还支持移动端拨测点,选择需要监测的运营商和地区的拨测点,创建对应拨测任务后会下发任务到各个拨测点进行拨测。
云拨测会对拨测点的结果数据进行汇聚,通过多维分析就可以查看指标数据。
云拨测也支持告警,设置对应指标的阈值,当 CDN 的访问质量异常时及时触发告警。目前利用 CDN 加速网站越来越重要,同时再 CDN 提供服务的过程中,我们要持续不断的对 CDN 的服务质量进行监测,如果 CDN 加速效果不理想,切换 CDN 服务商或者再 CDN 服务商选型的时候需要去度量 CDN 的服务质量。通过云拨测可以很快的构建 CDN 监测的平台,利用工具能够快速达到 CDN 服务质量优化的目的。若有任何问题可扫码联系云监控小助手,我们将竭诚为您服务!