阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?

为什么通过CDN控制台(或者OpenAPI)的监控查询、用量查询(实际计费流量)功能查到的加速域名使用的流量数据与通过日志统计的流量数据有差异?(通过日志统计的流量数据通常会比通过监控查询流量或者用量查询流量查询的数据更小一点。)

可能原因

日志统计流量是统计日志中response size字段记录的流量数据,只统计了应用层产生的流量,但实际产生的网络流量(网络层统计的流量)通常比应用层流量要高出7%~15%。主要原因是网络层流量比应用层流量多了以下两个流量消耗:

  • TCP/IP包头: 应用层流量在开始网络传输之前,需要先使用TCP协议(传输层)封装为TCP数据包,再使用IP协议(网络层)封装为IP数据包,IP数据包最大为1500字节,这其中包含了20字节TCP协议包头和20字节IP协议包头,这两个协议包头也会产生网络流量,但由于应用层无法统计到这两个包头的流量,因此日志统计流量里不包含这40字节。这部分包头消耗的网络流量至少占通过日志统计流量的2.74%(按最大IP数据包1500字节,其中TCP/IP包头40字节,应用层数据1460字节),应用层数据越小占比越大,通常在3%左右。

  • TCP重传 由于互联网中网络情况较为复杂,在出现网络拥堵、设备故障等情况下就会出现丢包,通常有3%~10%的数据会被互联网丢弃,数据包被丢弃后的重传动作是由操作系统内核层的协议栈处理的,无法记录到应用层日志中,因此这部分也会产生额外的网络消耗。

基于以上两个额外的网络流量消耗,在行业惯例中,会在基于日志中response size字段统计出的应用层流量的基础上,再加上7%~15%的网络消耗来得出实际的计费流量数据(即:体现在费用账单上的数据)。阿里云CDN产品取平均值10%做为网络消耗流量,因此实际的计费流量(也包括监控查询流量)是通过日志统计流量的1.1倍(即:TCP系数1.1)。

相关推荐
lpfasd12342 分钟前
第2部分:Netty核心架构与原理解析
运维·服务器·架构
若尘拂风1 小时前
centos 7.9 编译安装 freeswitch 1.10.12
服务器·udp·freeswitch·sip
小蜜蜂爱编程1 小时前
gerrit的部署与配置关联到不同服务器上的git仓库
运维·服务器·git·gerrit
心灵宝贝2 小时前
申威(sw_64)架构下如何安装java-1.8.0-swjdk的rpm包?
linux·运维·服务器
好记忆不如烂笔头abc2 小时前
linux系统记录登录用户的所有操作
java·linux·服务器
tan180°2 小时前
Linux网络HTTP(中)(8)
linux·网络·http
野犬寒鸦2 小时前
从零起步学习MySQL || 第五章:select语句的执行过程是怎么样的?(结合源码深度解析)
java·服务器·数据库·后端·mysql·adb
Wang's Blog3 小时前
Linux小课堂: 系统监控与进程管理之深入解析 w、ps 与 top 命令
linux·运维·服务器
锐策3 小时前
深入 RFC 793:TCP 报文头部、MSS 协商与三次握手 / 四次挥手全解析
网络·网络协议·tcp/ip
橘颂TA4 小时前
【C/C++】进程
服务器