1. 序言
随着互联网高速发展,网络视频直播和点播也大放异彩,咪咕视频、斗鱼直播等视频直播和点播平台被网民熟知并大量使用。根据中国互联网信息中心发布的统计报告,2018年6月,我国网络视频的用户量为60906万,网民使用率高达76.0%,较上半年增长了5.2%, 手机网络视频的用户量为57786,网民使用率高达73.4%,较上半年增长5.3%。
伴随着视频直播、点播、短视频的兴盛,用户量的持续大量增长,内容分发网络CDN作为通用基础网络能力,通过无线和固定宽带接入网络,能够对用户终端访问的网页、图像、视频、文件等内容实现访问加速。当前使用内容分发网络CDN为网络视频业务加速成为支撑网络视频业务高速发展的关键支点。
浅谈CDN访问日志及系统服务质量
图1 中国互联网网络发展状况统计(网络直播使用率)
本文将从CDN网络架构与功能、CDN访问日志、CDN服务质量指标等方面多维度进行介绍,并从日志挖掘的角度对CDN服务质量优化提供建议。
2. CDN介绍
CDN(内容分发网络)是构建在基础IP 承载网络之上,面向流媒体、Web 及应用的内容传送,具备内容自动化分布及流量集中化调度控制能力的叠加网络。最初的CDN主要承载静态WEB页面内容,随后又出现了针对网页动态内容的CDN加速。随着数字视频技术的发展和互联网带宽的飞速增加,互联网上的视频内容也逐渐丰富起来,第二代CDN主要针对VOD、流媒体视频和音频的分发服务。随着流媒体技术的发展,直播流媒体也成为了CDN内容分发的服务内容。
2.1 CDN网络架构
CDN 网络由分布在不同区域的CDN 节点组成,通过GSLB(全局负载均衡)的调度机制和内容中心的分发机制实现签约内容源的请求调度和内容缓存。CDN 按照指定策略将签约内容分发至网络边缘,并自动调度用户内容访问请求指向全局最优的边缘节点,由该边缘节点就近为用户提供内容服务,使用户可以通过访问就近的CDN节点获取内容源。
CDN 不但能加快内网用户访问外网资源的速度,也可以加速外网用户访问内网资源的速度,有效提升用户内容访问速度和业务体验;大大减轻骨干网络承载负荷和减少网络链路拥塞,优化网络流量,降低网络成本; 有力保障运营商自营业务服务质量和竞争力, 并能够为第三方客户提供CDN分发加速增值服务。
2.2 CDN网络功能模块
CDN 网络从逻辑架构上可划分为调度控制层、内容中心层和服务节点层3 个层面,其中调度控制层负责用户请求的统一调度、CDN 网络管理及业务运营管理,主要包含运营管理中心和调度控制中心;内容中心层通过内容中心实现对签约CP / SP(内容提供商/服务提供商)系统的对接和内容注入,并为边缘服务节点提供内容分发与回源服务; 服务节点层由边缘服务节点组成, 面向用户终端提供内容服务,具备内容缓存和媒体服务功能,以分层架构部署于网络中不同层面。CDN网络逻辑架构如图2所示:
图2:CDN网络逻辑架构图
3. CDN访问日志格式及系统
3.1 CDN日志格式
CDN访问日志中记录了CDN运行和用户请求的关键信息,对CDN服务质量分析极为关键,对其进行数据挖掘分析也十分有意义。常见的CDN日志主要包含以下字段:时间、时长、流量、请求URL、请求源IP地址、UA、状态码、命中状态等。其中,时间字段存储了用户请求的时间,时长字段存储了请求的持续时长,流量字段在拉流时,存储下行流量值,在推流时,存储上行流量值,请求URL字段存储用户请求的具体URL,请求源IP地址存储发起请求的用户的源IP地址,UA字段存储用户发起请求时使用的User-Agent类型,状态码字段存储了请求的状态码,常见状态有2XX、3XX、4XX、5XX,命中状态字段存储了CDN缓存是否命中的状态,其值可以是HIT或MISS。
3.2 基于CDN日志的数据分析系统架构
通过系统采集CDN服务日志,搭建CDN日志的大数据平台进行多维度展示、分析, 不仅能够使CDN服务透明化,同时也可以利用大数据平台整合全量数据,通过海量数据的高效挖掘及定制化应用,为统计活动数据、总结运营经验,实现流量精细化经营提供支撑。数据分析系统可以包括数据采集、基础数据管理、CDN日志统计分析、数据宽表管理、平台管理、系统管理与监控、用户交互及数据呈现几个模块。
图3 CDN数据分析系统架构
4. 多维度评估CDN服务质量
基于CDN日志数据分析平台,我们可以很方便地计算各种CDN服务统计指标,进而对CDN服务质量进行多维度地展示和评价。根据CDN日志来计算常用CDN日志评价指标的方法如下:
CDN访问日志及系统服务质量浅析
通过从上述维度对比CDN服务质量指标,能够更有效地发现和定位CDN中存在的问题,并可以从域名、省份、终端、和运营商等维度进行对比。
5. 日志对优化CDN服务质量的建议
通过对CDN日志进行分析挖掘,能够实现多维度观测CDN服务质量,并对CDN的优化配置提供参考建议。
①、实时分析:
对于CDN日志,日志的时效性十分重要。CDN实时日志可以从多个区域、多个节点实时采集日志,采集到的日志被流式分析处理,免去了传统日志分析中复杂的流程,让用户能实时查看日志分析结果,对CDN服务进行及时的优化。
②、故障定位:
在海量的业务场景下,对CDN服务的可用性、鲁棒性和性能要求十分苛刻,这需要对于各类异常进行及时、精准的告警,这种告警系统可以依赖于CDN日志实时分析来实现。CDN日志实时分析能够为监控、告警等系统提供准确的决策依据,进而提升CDN服务质量。
③、调度建议:
通过对CDN日志进行实时监控分析,还能够及时发现调度策略存在的缺陷,为资源调度提供建议,进而提高命中率,提升用户体验,节省流量开销。
④、可视化:
对CDN日志实时监控分析的结果,可以使用多种直观的数据可视化方式进行展示,用户可以通过观看可视化图表,直观地监控CDN运行状态。