业务价值:
- 终端用户无法下载或者下载太慢。
- 网络环境不稳定时,下载容易中断。重新下载会耗费额外的资源。
- 网站内容不安全,容易被劫持。
- 文件存储成本过高,同时对源站性能要求高。
音视频点播优化加速服务:网站或应用 App 的主要业务为视频点播或短视频类。支持例如:mp4
、flv
、rmvb
、wmv
、HLS
等主流视频格式。
视音频点播主要适用于各类视音频站点,如影视类视频网站、在线教育类视频网站、新闻类视频站点、短视频社交类网站以及音频类相关站点和应用。
cdn 支持流媒体协议,例如 RTMP 协议。在很多情况下,这相当于一个代理,从上一级缓存读取内容,转发给用户。由于流媒体往往是连续的,因而可以进行预先缓存的策略,也可以预先推送到用户的客户端。
对于静态页面来讲,内容的分发往往采取 拉取 的方式,也即当发现未命中的时候,再去上一级进行拉取。但是,流媒体数据量大,如果出现回源,压力会比较大,所以往往采取主动推送的模式,将热点数据主动推送到边缘节点。
对于流媒体来讲,很多 CDN 还提供 预处理 服务,也即文件在分发之前,经过一定的处理。例如将视频转换为不同的码流,以适应不同的网络带宽的用户需求;再如对视频进行分片,降低存储压力,也使得客户端可以选择使用不同的码率加载不同的分片。这就是我们常见的,超清、标清、流畅等。
业务价值:
- 终端用户访问视频时打不开视频或容易卡顿,观看不流畅。
- 上传、转码、存储、分发、播放的开发配置流程复杂,点播服务技术门槛高。
- 视频资源容易被劫持或盗用,版权得不到有效保护。
- 终端客户上传的小视频等内容无法被快速审核,导致政策风险。
视频流媒体直播服务,支持媒资存储、切片转码、访问鉴权、内容分发加速一体化解决方案。结合弹性伸缩服务,及时调整服务器带宽,应对突发访问流量;结合媒体转码服务,享受高速稳定的并行转码,且任务规模无缝扩展。
传统的 CDN 服务是纯粹的缓存和分发服务,缺乏可以直接提供给您的计算能力。访问 CDN 的海量请求中,复杂的计算逻辑必须回服务器源站执行,这增加了您的服务器消耗以及架构的复杂性。ER 可提供直接在 CDN 边缘节点计算处理的能力,将极大提高 CDN 的可定制化,可编程化,从而大量减少需回源的请求,降低用户的请求延时。同时 CDN 边缘节点拥有天然的高可用、高伸缩、全球负载均衡的特性,边缘的计算服务可应用于更多的使用场景。
- Geo:边缘打点服务,可以采集到边缘节点的请求相关信息:如 IP、地理、设备信息等
- Fetch:边缘代理服务,在 JS 代码中调用内置 api fetch 做了 http 自请求,响应给客户端 fetch 的最终内容
- AB test:AB 测试的功能
- Precache/Prefetch:CDN 预热功能,预热任务在响应客户端时将异步完成
- Race:回源同拉功能,将回源速度最快的源站的内容优先返回给客户端
- Log:边缘日志服务,在响应结束后异步地生成日志并回传给您的 Server
- 3xx:回源 302 跟随功能
- Redirect:边缘请求重定向功能
- Deny bot:边缘反爬虫服务
- Waf:边缘 waf 服务,当满足某些条件时,将禁止该请求
通常,使用了 CDN 后,您可以根据延时、下载速度、打开速度、丢包率、回源率和缓存命中率判断加速效果。
衡量指标
使用 CDN 加速,能够帮助您分担源站压力,加速资源访问速度。除了通用的数据观测指标外,不同的场景下也有更具体的指标。观测这些指标,不仅可以帮助您体验 CDN 加速的效果,也能观测自身业务使用 CDN 的情况,帮助您更好地做出调整和决策。
您可以根据以下几个主要性能指标,观察使用 CDN 前后,您的网站情况。这些指标包含但不限于:
- 延时:指一个数据包从用户的计算机发送到网站服务器,然后再立即从网站服务器返回用户计算机的来回时间。延时越低,性能越好。
- 下载速度:指用户从网络上或者网络服务器上下载的数据时的传输速度。下载速度越快,性能越好。
- 打开速度:指用户打开网站的速度。打开速度越快,性能越好。
- 丢包率:指用户在网络传输中所丢失数据包数量占所发送数据组的比率。
- 回源率:回源率分为回源请求数比例及回源流量比例两种。
- 回源请求数比:指边缘节点对于没有缓存、缓存过期(可缓存)和不可缓存的请求占全部请求记录的比例。越低则性能越好。
- 回源流量比:回源流量是回源请求文件大小产生的流量和请求本身产生的流量。所以
回源流量比=回源流量/(回源流量+用户请求访问的流量)
,比值越低,性能越好。
- 缓存命中率:指终端用户访问加速节点时,该节点已缓存了要被访问的数据的次数占全部访问次数的比例。缓存命中率越高,性能越好。
说明:上文提到的回源率、缓存命中率都是指使用 CDN 后衡量的指标。如果您还没有使用 CDN,那么回源请求数为 100%,缓存命中率为 0。
一般情况下,使用 CDN 后,您的网络延时、丢包率和回源率都会降低,与之相对的下载速度、打开速度、缓存命中率则会提高。但是,由于业务场景和业务类型的不同,即使选择了相同配置的 CDN 服务,实际产生的加速效果也不相同。因此,这里只是提供了定性的指标以供观测。
CDN 的各类应用场景都各自具有一些具体指标。您可以根据您的业务场景,进一步观测。
小文件,主要指 html
、js
、jpg
、css
等文件后缀的网页素材。这类加速对延迟要求较高,因为通常而言,页面加载时间的加长对用户流失会造成巨大影响。
延迟主要包括以下 3 个性能指标:建立连接时间、首包时间、内容下载时间。其中,首包时间是最核心的指标。
- 建立连接时间:指 DNS 解析完成,然后找到对应 IP 地址后建立 TCP 连接的过程。建立连接的时间长短,基本可以反映 CDN 服务的节点资源以及调度能力。
- 首包时间:指从客户端开始发送请求到收到服务器端发来的第一个包之间所需要的时间。这反映了 CDN 服务节点程序的整体性能。
在上传路径中,首包时间主要包含了 DNS 解析时间、TCP 用时、SSL 用时、发送时间和响应时间。上传
原文链接:https://tsejx.github.io/javascript-guidebook/computer-networks/computer-network-architecture/cdn/
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/17205