You need to enable JavaScript to run this app.
导航
指标的定义以及统计方式
最近更新时间:2024.06.21 15:07:29首次发布时间:2024.03.20 15:25:20

本文档介绍了在火山引擎内容分发网络(CDN)中,指标是如何定义和统计的。指标分为两大类,一类是针对 用户请求 的,一类是针对 回源请求 的。回源请求就是 CDN 向源站发送的请求。

概述

在缓存节点,CDN 对这些指标在数据传输层进行数据统计。这些指标数据反映的是 CDN 在与用户以及源站交互过程中实际传输的数据。在 CDN 中,以下位置提供的内容是基于这些指标数据的:

  • CDN 管理控制台 监控与报告 模块下的页面。您使用这些页面对 CDN 的工作情况进行实时监控。
  • CDN 管理控制台 用量管理 模块下的页面中。您使用这些页面获取面向计费的用量数据。这些用量数据也体现在您的账单中。
  • 数据统计 API 以及计费 API 返回的结果。

另外,CDN 也提供了访问日志供您下载。在访问日志中,每条记录表示一个请求,包含与该请求相关的字段值。关于这些字段的定义,参见 日志下载。需要留意的是,访问日志是缓存节点在应用层记录的。基于访问日志而统计的数据会比在数据传输层统计的数据少 10%。原因是在数据传输层统计的数据额外包括了以下附加数据:

  • TCP/IP 协议的包头、以太网帧的头部。
  • 因为发送失败而导致的数据包重传。

关于这些附加数据的详情,参见 详情。CDN 无法在应用层获取这些附加数据。在本文中对指标数据的计算方法进行描述时,我们提供了基于访问日志字段的计算方式,仅供参考。

基础信息

在阅读本文前,请留意以下定义。

  • 指定的统计时间段:表示您指定的开始时间(StartTime)和结束时间(EndTime)之间的统计时间段。

  • 实际统计时间段:基于您指定的开始时间(StartTime)、结束时间(EndTime)、以及统计时间粒度(Interval)决定的统计时间段。指标数据是基于实际统计时间段而统计的。

  • 时间区间:时间粒度(Interval)将实际统计时间段拆分成一系列的时间区间。

  • 细分数据:表示 CDN 对每个时间区间统计数据后得到的一系列的指标数据。细分数据用于展示实际统计时间段内的数据趋势。

  • 汇总数据:表示 CDN 对所有时间区间的指标数据进行汇总后得到的一个汇总数据。汇总数据用于展示实际统计时间段内的数据概况。

关于这些定义的详细描述:

用户请求指标

流量

定义

表示 CDN 向用户传输的数据量,单位是 bytes。该数据量是 CDN 响应中响应头大小和响应正文大小之和。

流量是基于访问日志中的 {ds_http_resp_size} 字段而统计的。该字段值的单位是 bytes。

细分数据

细分数据表示每个时间区间内的流量。

  • 单个时间区间内的流量 = 该时间区间内 CDN 向用户传输的数据量

汇总数据

汇总数据表示在实际统计时间段内,所有时间区间内的流量总和。汇总数据的计算方式如下:

  1. 基于指定的统计时间粒度,计算该时间段内每个时间区间内的流量。

  2. 计算这些流量的总和。

带宽

定义

表示基于 CDN 向用户传输的数据量而计算的带宽,单位是 bps。

细分数据

细分数据表示每个时间区间内的带宽。根据指定的统计时间粒度,带宽有两种计算方式:

  • 如果时间粒度是 1 分钟或者 5 分钟,单个时间区间内带宽的计算公式如下:

    • (该时间区间内 CDN 向用户传输的数据量 * 8) /(该时间区间的时长)

    通过使用访问日志中的字段,带宽的计算公式是:({ds_http_resp_size} * 8) / 时长

  • 如果时间粒度是 1 小时或者 1 天,单个时间区间内带宽的计算方式如下:

    • 以 5 分钟时间粒度对该时间区间使用以上的计算公式计算一系列的带宽。

    • 计算这些带宽中的最大值,也就是带宽峰值。

汇总数据

汇总数据表示在实际统计时间段内,所有时间区间内的带宽峰值。汇总数据的计算方式如下:

  1. 基于指定的统计时间粒度,计算该时间段内每个时间区间内的带宽。

  2. 计算这些带宽中的最大值。

带宽峰值时间

表示带宽峰值所在的时间区间的开始时间。

请求数

定义

表示 CDN 收到的所有用户请求的数量。

在访问日志中,记录条数就是请求数。

细分数据

细分数据表示每个时间区间内的请求数量。

  • 单个时间区间内的请求数 = 该时间区间内 CDN 收到的请求数

汇总数据

汇总数据表示在实际统计时间段内,所有时间区间内的请求数总和。汇总数据的计算方式如下:

  1. 基于指定的统计时间粒度,计算该时间段内每个时间区间内的请求数。

  2. 计算这些请求数的总和。

请求 QPS

定义

对于 CDN 收到的所有用户请求,该指标表示这些请求的 QPS。

细分数据

细分数据表示每个时间区间内的请求 QPS。根据指定的统计时间粒度,请求 QPS 有两种计算方式:

  • 如果时间粒度是 1 分钟或者 5 分钟,单个时间区间内请求 QPS 的计算公式如下:

    • (该时间区间内的请求数)/(该时间区间的时长)
  • 如果时间粒度是 1 小时或者 1 天,单个时间区间内请求 QPS 的计算方式如下:

    • 以 5 分钟时间粒度对该时间区间使用以上的计算公式计算一系列的 QPS。

    • 计算这些 QPS 中的最大值,也就是 QPS 峰值。

汇总数据

汇总数据表示在实际统计时间段内,所有时间区间内的请求 QPS 峰值。汇总数据的计算方式如下:

  1. 基于指定的统计时间粒度,计算该时间段内每个时间区间内的请求 QPS。

  2. 计算这些请求 QPS 中的最大值。

请求 QPS 峰值时间

表示请求 QPS 峰值所在的时间区间的开始时间。

状态码

定义

在 CDN 对用户请求的响应中,该指标表示以下类别的状态码数量:

  • 所有状态码的数量。
  • 2xx 状态码的数量以及该类别下每个状态码的数量。
  • 3xx 状态码的数量以及该类别下每个状态码的数量。
  • 4xx 状态码的数量以及该类别下每个状态码的数量。
  • 5xx 状态码的数量以及该类别下每个状态码的数量。

状态码数量是基于访问日志中的 {ds_http_status} 字段而统计的。

细分数据

细分数据表示每个时间区间内的每个类别的状态码数量。

汇总数据

汇总数据表示在实际统计时间段内,所有时间区间内的每个类别的状态码数量总和。汇总数据的计算方式如下:

  1. 基于指定的统计时间粒度,计算该时间段内每个时间区间内的每个类别的状态码数量。

  2. 按类别计算状态码数量的总和。

响应时间

定义

表示 CDN 响应用户请求所耗费的平均时间,单位是毫秒(ms)。

对于一个用户请求,CDN 的响应耗时是以下两个时间点之间的时间跨度:

  • CDN 完成接收用户请求的最后一个字节。
  • CDN 完成传输请求文件的最后一个字节。

需要留意的是,该指标不是在用户侧统计的接收响应所耗费的时间。

当 CDN 传输完请求文件的最后一个字节时,该时间点会被记录为该请求的响应完成时间。

响应时间就是访问日志中 {ds_req_time} 字段的值,单位是秒(s)。

细分数据

细分数据表示每个时间区间内的平均响应时间,是针对每个时间区间内完成文件传输的那些请求而统计的。

  • 单个时间区间内的响应时间 =(该时间区间内所有请求的响应时间总和)/(该时间区间内的请求数量)

汇总数据

汇总数据表示在实际统计时间段内,所有时间区间内的响应时间平均值。汇总数据的计算方式如下:

  1. 基于指定的统计时间粒度,计算该时间段内每个时间区间内的响应时间。

  2. 计算这些响应时间的平均值。

下载速度

定义

表示 CDN 向用户传输数据时的平均速度,单位是 Bps。该指标是对响应状态码是 2xx 的用户请求而统计的。

需要留意的是,该指标不是在用户侧统计的平均数据传输速度。

当 CDN 传输完请求文件的最后一个字节时,该时间点会被记录为该请求的响应完成时间。

细分数据

细分数据表示每个时间区间内的平均下载速度,是针对每个时间区间内完成文件传输的那些请求而统计的。

  • 单个请求的下载速度 =(CDN 向用户传输的数据量)/(CDN 响应该请求所耗费的时间)

    • 通过使用访问日志中的字段,下载速度的计算公式是:{ds_http_resp_size} / {ds_req_time}
  • 单个时间区间内的下载速度 =(该时间区间内所有请求的下载速度总和)/(该时间区间内响应状态码是 2xx 的请求数量)

说明

在统计下载速度时,CDN 会排除响应时间小于 1 毫秒的请求,以避免数据偏差。

汇总数据

汇总数据表示在实际统计时间段内,所有时间区间内的下载速度平均值。汇总数据的计算方式如下:

  1. 基于指定的统计时间粒度,计算该时间段内每个时间区间内的下载速度。

  2. 计算这些下载速度的平均值。

流量命中率

定义

流量命中率是基于以下传输数据量而统计的:

  • CDN 向用户传输的数据量。
  • 源站向 CDN 传输的数据量。

流量命中率以数值形式显示。例如,0.9999 表示 99.99%。

细分数据

细分数据表示每个时间区间内的流量命中率。

  • 单个时间区间内的流量命中率 =(该时间区间内 CDN 向用户传输的数据量 - 该时间区间内源站向 CDN 传输的数据量)/(该时间区间内 CDN 向用户传输的数据量)

    • 通过使用访问日志中的字段,流量命中率的计算公式是:({ds_http_resp_size} - 回源流量) / {ds_http_resp_size}

关于 "回源请求流量" 的定义,参见 回源请求指标

汇总数据

汇总数据表示在实际统计时间段内,所有时间区间内的流量命中率平均值。汇总数据的计算方式如下:

  1. 基于指定的统计时间粒度,计算该时间段内每个时间区间内的流量命中率。

  2. 计算这些流量命中率的平均值。

回源请求指标

对于回源请求,细分数据与汇总数据的统计方式与 用户请求指标 相同,以下表格中仅列出这些指标的描述。

指标描述
回源流量表示源站向 CDN 传输的数据量,单位是 bytes。该数据量是对 CDN 收到的源站响应而统计,是响应头大小和响应正文大小之和。
回源带宽表示基于源站向 CDN 传输的数据量而计算的带宽,单位是 bps。
回源请求数表示回源请求的数量。
回源请求 QPS表示回源请求的 QPS。
源站状态码表示在 CDN 收到的源站响应中,所有状态码的数量、2xx 状态码的数量、3xx 状态码的数量、4xx 状态码的数量、5xx 状态码的数量、每个状态码的数量。
源站 2xx 状态码表示 2xx 状态码的数量以及该类别下每个状态码的数量。
源站3xx 状态码表示 3xx 状态码的数量以及该类别下每个状态码的数量。
源站4xx 状态码表示 4xx 状态码的数量以及该类别下每个状态码的数量。
源站 5xx 状态码表示 5xx 状态码的数量以及该类别下每个状态码的数量。

计费指标

在计费指标中,除了 流量带宽,还有以下指标。

QUIC 请求数

定义

表示 CDN 收到的基于 QUIC 的 HTTPS 请求数量。

在访问日志中,{ds_http_protocol}HTTP/3 的记录条数就是 QUIC 请求数。

细分数据

细分数据表示每个时间区间内的 QUIC 请求数量。

  • 单个时间区间内的请求数 = 该时间区间内 CDN 收到的 QUIC 请求数

汇总数据

汇总数据表示在实际统计时间段内,所有时间区间内的 QUIC 请求数总和。汇总数据的计算方式如下:

  1. 基于指定的统计时间粒度,计算该时间段内每个时间区间内的 QUIC 请求数。

  2. 计算这些 QUIC 请求数的总和。

HTTPS 请求数

定义

表示 CDN 收到的 HTTPS 请求数量,包含 QUIC 请求数。

在访问日志中,{ds_http_scheme}HTTPS 的记录条数就是 HTTPS 请求数。

细分数据

细分数据表示每个时间区间内的 HTTPS 请求数量。

  • 单个时间区间内的请求数 = 该时间区间内 CDN 收到的 HTTPS 请求数

汇总数据

汇总数据表示在实际统计时间段内,所有时间区间内的 HTTPS 请求数总和。汇总数据的计算方式如下:

  1. 基于指定的统计时间粒度,计算该时间段内每个时间区间内的 HTTPS 请求数。

  2. 计算这些 HTTPS 请求数的总和。

实时日志投递数

定义

表示 CDN 向火山引擎日志服务投递的日志条数。该数量与 请求数 相同。

细分数据

细分数据表示每个时间区间内的日志投递数。

  • 单个时间区间内的日志投递数 = 该时间区间内 CDN 向火山引擎日志服务投递的日志条数

汇总数据

汇总数据表示在实际统计时间段内,所有时间区间内的日志投递数总和。汇总数据的计算方式如下:

  1. 基于指定的统计时间粒度,计算该时间段内每个时间区间内的日志投递数。

  2. 计算这些日志投递数的总和。