在AOM平台查看在线服务性能指标
ModelArts会定期收集在线服务的访问统计指标,以及在线服务在资源池中各节点的关键资源(GPU、NPU、CPU、Memory等)的使用情况,并上报到AOM。用户可直接在ModelArts平台查看,也可以在AOM上查看。
服务访问统计的指标介绍
为使用户更好地掌握自己的ModelArts在线服务和对应模型负载的运行状态,云服务平台提供了应用运维管理 AOM。您可以使用该服务监控您的ModelArts在线服务和对应模型负载,执行自动实时监控、告警和通知操作,帮助您更好地了解服务和模型的各项性能指标。
分类 | 名称 | 指标 | 指标含义 | 单位 | 取值范围 | 采集周期 | 指标Label |
|---|---|---|---|---|---|---|---|
请求数 | 服务请求数 | infer_service_request_total | 该指标用于统计在线服务的接口在一个采集周期内的请求次数。 | 次 | ≥0 | 15s | 服务接口指标Label |
实时连接数 | 连接数 | infer_service_request_connect_count | 该指标用于统计在线服务在指标采集时刻的实时连接数量。 | 次 | ≥0 | 15s | 服务指标Label |
请求QPS | 服务请求QPS | infer_service_request_total | 该指标用于统计在线服务在指标采集时刻的实时请求QPS。 | 次/s | ≥0 | 15s | 服务指标Label |
token指标 | 在线服务token产生数量 | infer_service_token_count | 该指标用于统计在线服务一个统计周期内token的产生数量。 | 个 | ≥0 | 15s | 服务指标Label |
首token的平均时延 | infer_service_first_token_avg_cost | 该指标用于统计一个周期内首token的平均时延(TTFT) | ms | ≥0 | 15s | 服务指标Label | |
首token的最小时延 | infer_service_first_token_min_cost | 该指标用于统计一个周期内首token的最小时延 | ms | ≥0 | 15s | 服务指标Label | |
首token的最大时延 | infer_service_first_token_max_cost | 该指标用于统计一个周期内首token的最大时延 | ms | ≥0 | 15s | 服务指标Label | |
每个token的平均输出时延 | infer_service_per_token_avg_cost | 该指标用于统计一个周期内每个token的平均输出时延(不含首token,TPOT) | ms | ≥0 | 15s | 服务指标Label | |
每个token的最大输出时延 | infer_service_per_token_max_cost | 该指标用于统计一个周期内每个token的最大输出时延(不含首token,TPOT) | ms | ≥0 | 15s | 服务指标Label | |
每个token的最小输出时延 | infer_service_per_token_min_cost | 该指标用于统计一个周期内每个token的最小输出时延(不含首token,TPOT) | ms | ≥0 | 15s | 服务指标Label | |
token的总耗时的平均值 | infer_service_token_latency_avg_cost | 该指标用于统计一个周期内输出token的总耗时的平均值 | ms | ≥0 | 15s | 服务指标Label | |
token的总耗时的最小值 | infer_service_token_latency_min_cost | 该指标用于统计一个周期内输出token的总耗时的最小值 | ms | ≥0 | 15s | 服务指标Label | |
token的总耗时的最大值 | infer_service_token_latency_max_cost | 该指标用于统计一个周期内输出token的总耗时的最大值 | ms | ≥0 | 15s | 服务指标Label | |
服务时延指标 | 在线服务请求的时延信息 | infer_service_request_cost | 该指标用于统计请求的时延信息,可用于计算TPxx和平均时延,其中平均时延计算方式为:infer_service_request_cost_sum/infer_service_request_cost_count,TPxx时延计算方式参考普罗语句,比如TP90为:histogram_quantile(0.90, avg(rate(infer_service_request_cost_bucket{service_id="6d26f238-52b0-4184-8b50-d621a0c80eb4"}[1m:30s]))by(le)) | ms | ≥0 | 15s | 服务指标Label |
首Token时延 | 首Token时延 | infer_service_first_token_cost | 该指标用于统计一个周期内首Token的时延信息,可用于计算平均时延和TPxx,其中平均时延计算方式为:sum(increase(infer_service_first_token_cost_sum{service_id="{service_id}"}[59999ms]))by(service_id)/sum(increase(infer_service_first_token_cost_count{service_id="{service_id}"}[59999ms]))by(service_id),TPxx计算方式参考普罗语句:histogram_quantile(XX%, avg(rate(infer_service_first_token_cost_bucket{service_id="{service_id}"}[1m:30s]))by(le)) | ms | ≥0 | 15s | 服务指标维度 |
非首Token时延 | 每个输出Token平均时延 | infer_service_per_token_cost | 该指标用于统计一个周期内每个输出Token的时延信息,可用于计算平均时延和TPxx,其中平均时延计算方式为:sum(increase(infer_service_per_token_cost_sum{service_id="{service_id}"}[59999ms]))by(service_id)/sum(increase(infer_service_per_token_cost_count{service_id="{service_id}"}[59999ms]))by(service_id),TPxx计算方式参考普罗语句:histogram_quantile(XX%, avg(rate(infer_service_per_token_cost_bucket{service_id="{service_id}"}[1m:30s]))by(le)) | ms | ≥0 | 15s | 服务指标维度 |
输入token数 | 在线服务请求的输入token数 | infer_service_input_token_quantity | 该指标用于统计请求的输入token数,可用于计算输入token数的平均值、TP50值、TP90值、TP99值,其中输入token数平均值计算方式为:infer_service_input_token_quantity_sum/infer_service_input_token_quantity_count,TPxx输入token数计算方式参考普罗语句,比如TP90为:histogram_quantile(0.90, avg(rate(infer_service_input_token_quantity_bucket{service_id="6d26f238-52b0-4184-8b50-d621a0c80eb4"}[1m:30s]))by(le)) | ms | ≥0 | 15s | 服务指标Label |
输出token数 | 在线服务请求的输出token数 | infer_service_output_token_quantity | 该指标用于统计请求的输出token数,可用于计算输出token数的平均值、TP50值、TP90值、TP99值,其中输出token数平均值计算方式为:infer_service_output_token_quantity_sum/infer_service_output_token_quantity_count,TPxx输出token数计算方式参考普罗语句,比如TP90为:histogram_quantile(0.90, avg(rate(infer_service_output_token_quantity_bucket{service_id="6d26f238-52b0-4184-8b50-d621a0c80eb4"}[1m:30s]))by(le)) | ms | ≥0 | 15s | 服务指标Label |
CPU使用核数 | 在线服务当前CPU使用核数 | ma_container_cpu_used_core | 该指标用于统计在线服务在指标采集时刻的实时CPU使用核数。 | Core | ≥0 | 30s | 服务指标Label |
CPU使用率 | 在线服务当前CPU使用率 | ma_container_cpu_util | 该指标用于统计在线服务在指标采集时刻的实时CPU使用率。 | % | 0~100% | 30s | 服务指标Label |
内存使用量 | 在线服务当前内存使用量 | ma_container_memory_used_megabytes | 该指标用于统计在线服务在指标采集时刻的实时内存使用量。 | MB | ≥0 | 30s | 服务指标Label |
内存使用率 | 在线服务当前内存使用率 | ma_container_memory_util | 该指标用于统计在线服务在指标采集时刻的实时内存使用率。 | % | 0~100% | 30s | 服务指标Label |
NPU使用率 | 在线服务当前NPU使用率 | ma_container_npu_util ma_container_npu_ai_core_util | 该指标用于统计在线服务在指标采集时刻的实时NPU使用率。 | % | 0~100% | 30s | 服务指标Label |
NPU显存使用量 | 在线服务当前NPU显存使用量 | ma_container_npu_memory_used_megabytes ma_container_npu_ddr_memory_usage_bytes ma_container_npu_hbm_usage_bytes | 该指标用于统计在线服务在指标采集时刻的实时NPU显存使用量。 | MB | ≥0 | 30s | 服务指标Label |
NPU显存使用率 | 在线服务当前NPU显存使用率 | ma_container_npu_memory_util ma_container_npu_ddr_memory_util ma_container_npu_hbm_util | 该指标用于统计在线服务在指标采集时刻的实时NPU显存使用率。 | % | 0~100% | 30s | 服务指标Label |
GPU使用率 | 在线服务当前GPU使用率 | ma_container_gpu_util | 该指标用于统计在线服务在指标采集时刻的实时GPU使用率。 | % | 0~100% | 30s | 服务指标Label |
GPU显存使用量 | 在线服务当前GPU显存使用量 | ma_container_gpu_mem_used_megabytes | 该指标用于统计在线服务在指标采集时刻的实时GPU显存使用量。 | MB | ≥0 | 30s | 服务指标Label |
GPU显存使用率 | 在线服务当前GPU显存使用率 | ma_container_gpu_mem_util | 该指标用于统计在线服务在指标采集时刻的实时GPU显存使用率。 | % | 0~100% | 30s | 服务指标Label |
网络下行流速 | 在线服务当前网络下行流速 | ma_container_network_receive_bytes | 该指标用于统计在线服务在指标采集时刻的实时网络下行流速。 | Byte/s | ≥0 | 30s | 服务指标Label |
网络上行流速 | 在线服务当前网络下行流速 | ma_container_network_transmit_bytes | 该指标用于统计在线服务在指标采集时刻的实时网络上行流速。 | Byte/s | ≥0 | 30s | 服务指标Label |
首token的总输出时延 | 统计一个周期内服务首token的总输出时延 | infer_service_first_token_cost_sum | 该指标用于统计在线服务在一个周期内服务首token的总输出时延 | ms | ≥0 | 15s | 服务指标Label |
服务输入的总token数 | 统计一个周期内服务输入的总token数 | infer_service_input_token_quantity_sum | 该指标用于统计在线服务在一个周期内服务输入的总token数 | ms | ≥0 | 15s | 服务指标Label |
服务输出的总token数 | 统计一个周期内服务输出的总token数 | infer_service_output_token_quantity_sum | 该指标用于统计在线服务在一个周期内服务输出的总token数 | ms | ≥0 | 15s | 服务指标Label |
非首token的总输出时延 | 统计一个周期内非首token的总输出时延 | infer_service_per_token_cost_sum | 该指标用于统计在线服务在一个周期内非首token的总输出时延 | ms | ≥0 | 15s | 服务指标Label |
服务请求的总时延 | 统计一个周期内的服务请求的总时延 | infer_service_request_cost_sum | 该指标用于统计在线服务在一个周期内的服务请求的总时延 | ms | ≥0 | 15s | 服务指标Label |
首token时延趋势 | 统计服务的首token时延趋势 | infer_service_first_token_cost_bucket | 该指标用于统计服务的首token时延趋势 | ms | ≥0 | 15s | 服务指标Label |
服务的输入token数 | 统计服务的输入token数 | infer_service_input_token_quantity_bucket | 该指标用于统计服务的输入token数 | ms | ≥0 | 15s | 服务指标Label |
服务的输出token数 | 统计服务的输出token数 | infer_service_output_token_quantity_bucket | 该指标用于统计服务的输出token数 | ms | ≥0 | 15s | 服务指标Label |
服务的非首token时延趋势 | 统计服务的非首token时延趋势 | infer_service_per_token_cost_bucket | 该指标用于统计服务的非首token时延趋势 | ms | ≥0 | 15s | 服务指标Label |
服务的请求时延趋势 | 统计服务的请求时延趋势 | infer_service_request_cost_bucket | 该指标用于统计服务的请求时延趋势 | ms | ≥0 | 15s | 服务指标Label |
Label相关指标介绍
Label名字 | Label描述 |
|---|---|
service_id | 推理服务id,比如:9f322d5a-b1d2-4370-94df-5a87de27d36e。 |
group_id | 推理服务部署id。 |
project_id | 用户所属的账号的project id。 |
code | 请求返回码,包括:2xx,4xx,5xx。 |
method | 推理请求方法。 |
path | 推理请求路径。 |
source | 请求流经dispatcher组件的容器pod id。 |
namespace | 指标名,与表1中的指标列对应。 |
instance_name | 推理服务实例名字。 |
service_name | 推理服务名字。 |
Label名字 | Label描述 |
|---|---|
service_id | 推理服务id,比如:9f322d5a-b1d2-4370-94df-5a87de27d36e。 |
group_id | 推理服务部署id。 |
project_id | 用户所属的账号的project id。 |
source | 请求流经dispatcher组件的容器pod id。 |
namespace | 指标名,与表1中的指标列对应。 |
查看监控指标
AOM是云上应用的一站式立体化运维管理平台,实时监控应用及云资源,可以对ModelArts在线服务和模型负载运行状态进行日常监控。您可以通过管理控制台,直观地查看ModelArts在线服务和模型负载的各项监控指标。由于监控数据的获取与传输会花费一定时间,因此,AOM显示的是当前时间5~10分钟前的状态。如果您的在线服务刚创建完成,请等待5~10分钟后查看监控数据。
前提条件:
- ModelArts在线服务正常运行。
- 在线服务已正常运行一段时间(约10分钟)。
- 对于新创建的在线服务,需要等待一段时间,才能查看上报的监控数据和监控视图。
- 故障、删除状态的在线服务,无法在云监控中查看其监控指标。当在线服务再次启动或恢复后,即可正常查看。
操作步骤:
- 在“服务列表”中选择,进入AOM管理控制台。
- 左侧导航栏选择“指标浏览”页面。选择“指标源”为默认来源“Prometheus_AOM_Default”实例,并根据需要设置统计方式和统计周期。图1 设置指标源

- 在指标浏览页面下方,通过“全量指标”或“按普罗语句添加方式”选择一个或多个关注的指标。
此处以“全量指标”方式获取在线服务作业指标为例,如下图所示。
- 指标:输入具体的指标,例如:ma_container_cpu_util。
- 条件:输入条件(instance_name)和维度值(在线服务作业ID,在ModelArts控制台的在线服务详情页中获取),页面会自动显示当前在线服务作业指定的指标监控曲线。 图2 设置在线服务作业指标

“按普罗语句添加”方式请参考文档应用运维管理 AOM> 用户指南(2.0)> 指标浏览。

