什么是CDN?
CDN全称内容分发网络(Content Delivery Network),它通过将静态资源缓存到离用户比较近的节点上,避开互联网上可能影响传输速度和稳定性的因素,使得用户请求的内容传输更加快速和稳定,CDN不仅能加快资源的访问速度,还能降低服务器的带宽压力,有效降低服务器负载。
使用CDN的主要问题
1、CDN选型:选择合适的CDN供应商是加速网站的第一步,国内外都有众多提供CDN服务的厂商,如腾讯云、阿里云、七牛云、Google、AWS、Cloudflare等,选择CDN服务商时,优先考虑的是CDN的服务质量,其次是其他因素。
2、CDN质量监控:利用CDN加速网站后,CDN对我们来说是一个黑盒,不能仅依靠CDN厂商的监控数据来衡量CDN的服务质量,如果CDN不可用或耗时较大,会得不偿失,如何衡量CDN的质量成为一个瓶颈。
CDN服务质量衡量标准
解决使用CDN过程中遇到的问题,首先要确定如何衡量一个CDN的服务质量,需要制定一些核心指标量化CDN加速过程的数据,通过这些数据来衡量CDN加速的好坏。
小文件场景
小文件一般是网页素材,通常是html、js、jpg、png、css等文件,这类小文件对延迟最为敏感,前端请求一个网络资源可以分析四个过程:DNS查询、TCP连接、请求响应、内容传输,小文件一般关注前三个过程的用时,内容传输的用时很小,参考意义不大。
DNS用时:衡量域名解析用时,与CDN的调度策略也有一定关系。
TCP用时:指解析到的IP创建TCP连接的时间,TCP建立连接的流程是固定的三次握手,TCP用时能够反映出CDN的节点资源和调度策略能力,一般离用户越近的节点TCP用时越短。
首包用时:从用户发起请求到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服务的质量和稳定性。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1266255.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复