本文档介绍了在火山引擎内容分发网络(CDN)中,指标是如何定义和统计的。指标分为两大类,一类是针对 用户请求 的,一类是针对 回源请求 的。回源请求就是 CDN 向源站发送的请求。
在缓存节点,CDN 对这些指标在数据传输层进行数据统计。这些指标数据反映的是 CDN 在与用户以及源站交互过程中实际传输的数据。在 CDN 中,以下位置提供的内容是基于这些指标数据的:
另外,CDN 也提供了访问日志供您下载。在访问日志中,每条记录表示一个请求,包含与该请求相关的字段值。关于这些字段的定义,参见 日志下载。需要留意的是,访问日志是缓存节点在应用层记录的。基于访问日志而统计的数据会比在数据传输层统计的数据少 10%。原因是在数据传输层统计的数据额外包括了以下附加数据:
关于这些附加数据的详情,参见 详情。CDN 无法在应用层获取这些附加数据。在本文中对指标数据的计算方法进行描述时,我们提供了基于访问日志字段的计算方式,仅供参考。
在阅读本文前,请留意以下定义。
指定的统计时间段:表示您指定的开始时间(StartTime
)和结束时间(EndTime
)之间的统计时间段。
实际统计时间段:基于您指定的开始时间(StartTime
)、结束时间(EndTime
)、以及统计时间粒度(Interval
)决定的统计时间段。指标数据是基于实际统计时间段而统计的。
时间区间:时间粒度(Interval
)将实际统计时间段拆分成一系列的时间区间。
细分数据:表示 CDN 对每个时间区间统计数据后得到的一系列的指标数据。细分数据用于展示实际统计时间段内的数据趋势。
汇总数据:表示 CDN 对所有时间区间的指标数据进行汇总后得到的一个汇总数据。汇总数据用于展示实际统计时间段内的数据概况。
关于这些定义的详细描述:
如果您正在使用 API 获取指标数据,参见 统计时间段说明(API)。
如果您正在 CDN 控制台查看指标数据,参见 统计时间段说明(控制台)。
表示 CDN 向用户传输的数据量,单位是 bytes。该数据量是 CDN 响应中响应头大小和响应正文大小之和。
流量是基于访问日志中的 {ds_http_resp_size}
字段而统计的。该字段值的单位是 bytes。
细分数据表示每个时间区间内的流量。
汇总数据表示在实际统计时间段内,所有时间区间内的流量总和。汇总数据的计算方式如下:
基于指定的统计时间粒度,计算该时间段内每个时间区间内的流量。
计算这些流量的总和。
表示基于 CDN 向用户传输的数据量而计算的带宽,单位是 bps。
细分数据表示每个时间区间内的带宽。根据指定的统计时间粒度,带宽有两种计算方式:
如果时间粒度是 1 分钟或者 5 分钟,单个时间区间内带宽的计算公式如下:
通过使用访问日志中的字段,带宽的计算公式是:({ds_http_resp_size}
* 8) / 时长
如果时间粒度是 1 小时或者 1 天,单个时间区间内带宽的计算方式如下:
以 5 分钟时间粒度对该时间区间使用以上的计算公式计算一系列的带宽。
计算这些带宽中的最大值,也就是带宽峰值。
汇总数据表示在实际统计时间段内,所有时间区间内的带宽峰值。汇总数据的计算方式如下:
基于指定的统计时间粒度,计算该时间段内每个时间区间内的带宽。
计算这些带宽中的最大值。
表示带宽峰值所在的时间区间的开始时间。
表示 CDN 收到的所有用户请求的数量。
在访问日志中,记录条数就是请求数。
细分数据表示每个时间区间内的请求数量。
汇总数据表示在实际统计时间段内,所有时间区间内的请求数总和。汇总数据的计算方式如下:
基于指定的统计时间粒度,计算该时间段内每个时间区间内的请求数。
计算这些请求数的总和。
对于 CDN 收到的所有用户请求,该指标表示这些请求的 QPS。
细分数据表示每个时间区间内的请求 QPS。根据指定的统计时间粒度,请求 QPS 有两种计算方式:
如果时间粒度是 1 分钟或者 5 分钟,单个时间区间内请求 QPS 的计算公式如下:
如果时间粒度是 1 小时或者 1 天,单个时间区间内请求 QPS 的计算方式如下:
以 5 分钟时间粒度对该时间区间使用以上的计算公式计算一系列的 QPS。
计算这些 QPS 中的最大值,也就是 QPS 峰值。
汇总数据表示在实际统计时间段内,所有时间区间内的请求 QPS 峰值。汇总数据的计算方式如下:
基于指定的统计时间粒度,计算该时间段内每个时间区间内的请求 QPS。
计算这些请求 QPS 中的最大值。
表示请求 QPS 峰值所在的时间区间的开始时间。
在 CDN 对用户请求的响应中,该指标表示以下类别的状态码数量:
状态码数量是基于访问日志中的 {ds_http_status}
字段而统计的。
细分数据表示每个时间区间内的每个类别的状态码数量。
汇总数据表示在实际统计时间段内,所有时间区间内的每个类别的状态码数量总和。汇总数据的计算方式如下:
基于指定的统计时间粒度,计算该时间段内每个时间区间内的每个类别的状态码数量。
按类别计算状态码数量的总和。
表示 CDN 响应用户请求所耗费的平均时间,单位是毫秒(ms)。
对于一个用户请求,CDN 的响应耗时是以下两个时间点之间的时间跨度:
需要留意的是,该指标不是在用户侧统计的接收响应所耗费的时间。
当 CDN 传输完请求文件的最后一个字节时,该时间点会被记录为该请求的响应完成时间。
响应时间就是访问日志中 {ds_req_time}
字段的值,单位是秒(s)。
细分数据表示每个时间区间内的平均响应时间,是针对每个时间区间内完成文件传输的那些请求而统计的。
汇总数据表示在实际统计时间段内,所有时间区间内的响应时间平均值。汇总数据的计算方式如下:
基于指定的统计时间粒度,计算该时间段内每个时间区间内的响应时间。
计算这些响应时间的平均值。
表示 CDN 向用户传输数据时的平均速度,单位是 Bps。该指标是对响应状态码是 2xx 的用户请求而统计的。
需要留意的是,该指标不是在用户侧统计的平均数据传输速度。
当 CDN 传输完请求文件的最后一个字节时,该时间点会被记录为该请求的响应完成时间。
细分数据表示每个时间区间内的平均下载速度,是针对每个时间区间内完成文件传输的那些请求而统计的。
单个请求的下载速度 =(CDN 向用户传输的数据量)/(CDN 响应该请求所耗费的时间)
{ds_http_resp_size}
/ {ds_req_time}
单个时间区间内的下载速度 =(该时间区间内所有请求的下载速度总和)/(该时间区间内响应状态码是 2xx 的请求数量)
说明
在统计下载速度时,CDN 会排除响应时间小于 1 毫秒的请求,以避免数据偏差。
汇总数据表示在实际统计时间段内,所有时间区间内的下载速度平均值。汇总数据的计算方式如下:
基于指定的统计时间粒度,计算该时间段内每个时间区间内的下载速度。
计算这些下载速度的平均值。
流量命中率是基于以下传输数据量而统计的:
流量命中率以数值形式显示。例如,0.9999 表示 99.99%。
细分数据表示每个时间区间内的流量命中率。
单个时间区间内的流量命中率 =(该时间区间内 CDN 向用户传输的数据量 - 该时间区间内源站向 CDN 传输的数据量)/(该时间区间内 CDN 向用户传输的数据量)
{ds_http_resp_size}
- 回源流量) / {ds_http_resp_size}
关于 "回源请求流量" 的定义,参见 回源请求指标。
汇总数据表示在实际统计时间段内,所有时间区间内的流量命中率平均值。汇总数据的计算方式如下:
基于指定的统计时间粒度,计算该时间段内每个时间区间内的流量命中率。
计算这些流量命中率的平均值。
对于回源请求,细分数据与汇总数据的统计方式与 用户请求指标 相同,以下表格中仅列出这些指标的描述。
指标 | 描述 |
---|---|
回源流量 | 表示源站向 CDN 传输的数据量,单位是 bytes。该数据量是对 CDN 收到的源站响应而统计,是响应头大小和响应正文大小之和。 |
回源带宽 | 表示基于源站向 CDN 传输的数据量而计算的带宽,单位是 bps。 |
回源请求数 | 表示回源请求的数量。 |
回源请求 QPS | 表示回源请求的 QPS。 |
源站状态码 | 表示在 CDN 收到的源站响应中,所有状态码的数量、2xx 状态码的数量、3xx 状态码的数量、4xx 状态码的数量、5xx 状态码的数量、每个状态码的数量。 |
源站 2xx 状态码 | 表示 2xx 状态码的数量以及该类别下每个状态码的数量。 |
源站3xx 状态码 | 表示 3xx 状态码的数量以及该类别下每个状态码的数量。 |
源站4xx 状态码 | 表示 4xx 状态码的数量以及该类别下每个状态码的数量。 |
源站 5xx 状态码 | 表示 5xx 状态码的数量以及该类别下每个状态码的数量。 |
表示 CDN 收到的基于 QUIC 的 HTTPS 请求数量。
在访问日志中,{ds_http_protocol}
是 HTTP/3
的记录条数就是 QUIC 请求数。
细分数据表示每个时间区间内的 QUIC 请求数量。
汇总数据表示在实际统计时间段内,所有时间区间内的 QUIC 请求数总和。汇总数据的计算方式如下:
基于指定的统计时间粒度,计算该时间段内每个时间区间内的 QUIC 请求数。
计算这些 QUIC 请求数的总和。
表示 CDN 收到的 HTTPS 请求数量,包含 QUIC 请求数。
在访问日志中,{ds_http_scheme}
是 HTTPS
的记录条数就是 HTTPS 请求数。
细分数据表示每个时间区间内的 HTTPS 请求数量。
汇总数据表示在实际统计时间段内,所有时间区间内的 HTTPS 请求数总和。汇总数据的计算方式如下:
基于指定的统计时间粒度,计算该时间段内每个时间区间内的 HTTPS 请求数。
计算这些 HTTPS 请求数的总和。
表示 CDN 向火山引擎日志服务投递的日志条数。该数量与 请求数 相同。
细分数据表示每个时间区间内的日志投递数。
汇总数据表示在实际统计时间段内,所有时间区间内的日志投递数总和。汇总数据的计算方式如下:
基于指定的统计时间粒度,计算该时间段内每个时间区间内的日志投递数。
计算这些日志投递数的总和。