计费流量与日志监控流量的区别

控制台展示的流量数据,是我们应用层日志统计出的流量,但是实际产生的网络流量却要比应用层统计到的流量要高出7%-15%;这个主要的原因有两个:

1、TCP/IP包头的消耗:众所周知,我们的HTTP请求是基于TCP/IP协议的,现有的互联网中,每个包的大小最大是1500个字节,而这1500个字节中,就包含了TCP和IP协议插进来的40个字节的包头,包头部分也会产生流量,但是这个加包头的动作是由内核层的协议栈完成的,无法被应用层统计到,日志里也就不会记这40个字节的流量了,这部分的流量会占到我们通过日志计算出流量的2.74%(40/1460)以上,正常情况下,会占到3%左右。

2、TCP重传:根据互联网物理网络的负载情况,正常情况下,我们所发送的包会有3-10%左右会被互联网丢弃掉,被丢弃掉之后,服务器会对丢弃的部分进行重传,重传动作是由内核层协议栈处理的,应用层也无法统计到,这部分流量占我们日志计算出流量的比例,根据网络的好坏而不等,在凌晨互联网轻载的情况下,重传率会较低;在晚高峰互联网重载的时候,重传会上升,一般情况下,在3%-7%之间。

因此在业界标准中,会在原有流量的基础上再加上7%-15%的网络消耗做为计费流量统计,我们取平均值10%做为网络消耗统计。