生产指标¶
vLLM 暴露了许多可用于监控系统运行状况的指标。这些指标通过 vLLM OpenAI 兼容 API 服务器上的 /metrics 端点暴露。
您可以使用 Python 或 Docker 启动服务器
然后查询端点以获取服务器的最新指标
输出
$ curl http://0.0.0.0:8000/metrics
# HELP vllm:iteration_tokens_total Histogram of number of tokens per engine_step.
# TYPE vllm:iteration_tokens_total histogram
vllm:iteration_tokens_total_sum{model_name="unsloth/Llama-3.2-1B-Instruct"} 0.0
vllm:iteration_tokens_total_bucket{le="1.0",model_name="unsloth/Llama-3.2-1B-Instruct"} 3.0
vllm:iteration_tokens_total_bucket{le="8.0",model_name="unsloth/Llama-3.2-1B-Instruct"} 3.0
vllm:iteration_tokens_total_bucket{le="16.0",model_name="unsloth/Llama-3.2-1B-Instruct"} 3.0
vllm:iteration_tokens_total_bucket{le="32.0",model_name="unsloth/Llama-3.2-1B-Instruct"} 3.0
vllm:iteration_tokens_total_bucket{le="64.0",model_name="unsloth/Llama-3.2-1B-Instruct"} 3.0
vllm:iteration_tokens_total_bucket{le="128.0",model_name="unsloth/Llama-3.2-1B-Instruct"} 3.0
vllm:iteration_tokens_total_bucket{le="256.0",model_name="unsloth/Llama-3.2-1B-Instruct"} 3.0
vllm:iteration_tokens_total_bucket{le="512.0",model_name="unsloth/Llama-3.2-1B-Instruct"} 3.0
...
公开的指标如下
通用指标¶
| 指标名称 | 类型 | 描述 |
|---|---|---|
vllm:corrupted_requests | 计数器 | 损坏的请求,以 logits 中包含 NaN 的总请求数衡量。 |
vllm:external_prefix_cache_hits | 计数器 | 来自 KV 连接器跨实例缓存共享的外部前缀缓存命中次数,以缓存的 token 数衡量。 |
vllm:external_prefix_cache_queries | 计数器 | 来自 KV 连接器跨实例缓存共享的外部前缀缓存查询次数,以查询的 token 数衡量。 |
vllm:generation_tokens | 计数器 | 已处理的生成 token 数。 |
vllm:mm_cache_hits | 计数器 | 多模态缓存命中次数,以缓存的项目数衡量。 |
vllm:mm_cache_queries | 计数器 | 多模态缓存查询次数,以查询的项目数衡量。 |
vllm:num_preemptions | 计数器 | 引擎抢占的总次数。 |
vllm:prefix_cache_hits | 计数器 | 前缀缓存命中次数,以缓存的 token 数衡量。 |
vllm:prefix_cache_queries | 计数器 | 前缀缓存查询次数,以查询的 token 数衡量。 |
vllm:prompt_tokens | 计数器 | 已处理的预填充 token 数。 |
vllm:request_success | 计数器 | 成功处理的请求数。 |
vllm:engine_sleep_state | Gauge | 引擎睡眠状态;唤醒 = 0 表示引擎正在睡眠;唤醒 = 1 表示引擎已唤醒;权重已卸载 = 1 表示睡眠级别 1;全部丢弃 = 1 表示睡眠级别 2。 |
vllm:kv_cache_usage_perc | Gauge | KV 缓存使用率。1 表示 100% 使用。 |
vllm:lora_requests_info | Gauge | Lora 请求的运行统计信息。 |
vllm:num_requests_running | Gauge | 模型执行批次中的请求数。 |
vllm:num_requests_waiting | Gauge | 等待处理的请求数。 |
vllm:e2e_request_latency_seconds | Histogram | 端到端请求延迟(秒)的直方图。 |
vllm:inter_token_latency_seconds | Histogram | token 间延迟(秒)的直方图。 |
vllm:iteration_tokens_total | Histogram | 每个引擎步骤的 token 数直方图。 |
vllm:kv_block_idle_before_evict_seconds | Histogram | KV 缓存块被驱逐前的空闲时间直方图。采样指标(通过 --kv-cache-metrics-sample 控制)。 |
vllm:kv_block_lifetime_seconds | Histogram | KV 缓存块从分配到驱逐的生命周期直方图。采样指标(通过 --kv-cache-metrics-sample 控制)。 |
vllm:kv_block_reuse_gap_seconds | Histogram | 连续 KV 缓存块访问之间的时间间隔直方图。仅记录最近的访问(环形缓冲区)。采样指标(通过 --kv-cache-metrics-sample 控制)。 |
vllm:request_decode_time_seconds | Histogram | 请求的 DECODE 阶段花费的时间直方图。 |
vllm:request_generation_tokens | Histogram | 已处理的生成 token 数。 |
vllm:request_inference_time_seconds | Histogram | 请求的 RUNNING 阶段花费的时间直方图。 |
vllm:request_max_num_generation_tokens | Histogram | 请求的最大生成 token 数直方图。 |
vllm:request_params_max_tokens | Histogram | max_tokens 请求参数直方图。 |
vllm:request_params_n | Histogram | n 请求参数直方图。 |
vllm:request_prefill_kv_computed_tokens | Histogram | 预填充期间新计算的 KV token 数直方图(不包括缓存的 token)。 |
vllm:request_prefill_time_seconds | Histogram | 请求的 PREFILL 阶段花费的时间直方图。 |
vllm:request_prompt_tokens | Histogram | 已处理的预填充 token 数。 |
vllm:request_queue_time_seconds | Histogram | 请求的 WAITING 阶段花费的时间直方图。 |
vllm:request_time_per_output_token_seconds | Histogram | 每个请求的 time_per_output_token_seconds 直方图。 |
vllm:time_per_output_token_seconds | Histogram | 每秒输出 token 时间的直方图。已弃用:请改用 vllm:inter_token_latency_seconds。 |
vllm:time_to_first_token_seconds | Histogram | 首次 token 时间(秒)的直方图。 |
推测性解码指标¶
| 指标名称 | 类型 | 描述 |
|---|---|---|
vllm:spec_decode_num_accepted_tokens | 计数器 | 接受的 token 数。 |
vllm:spec_decode_num_accepted_tokens_per_pos | 计数器 | 每个草稿位置接受的 token 数。 |
vllm:spec_decode_num_draft_tokens | 计数器 | 草稿 token 数。 |
vllm:spec_decode_num_drafts | 计数器 | 推测性解码草稿次数。 |
NIXL KV 连接器指标¶
| 指标名称 | 类型 | 描述 |
|---|---|---|
vllm:nixl_num_failed_notifications | 计数器 | 失败的 NIXL KV 缓存通知数。 |
vllm:nixl_num_failed_transfers | 计数器 | 失败的 NIXL KV 缓存传输数。 |
vllm:nixl_bytes_transferred | Histogram | 每次 NIXL KV 缓存传输的传输字节数直方图。 |
vllm:nixl_num_descriptors | Histogram | 每次 NIXL KV 缓存传输的描述符数量直方图。 |
vllm:nixl_post_time_seconds | Histogram | NIXL KV 缓存传输的传输后时间直方图。 |
vllm:nixl_xfer_time_seconds | Histogram | NIXL KV 缓存传输的传输持续时间直方图。 |
弃用策略¶
注意:当指标在 X.Y 版本中被弃用时,它们将在 X.Y+1 版本中隐藏,但可以使用 --show-hidden-metrics-for-version=X.Y 逃生舱重新启用,然后在 X.Y+2 版本中被移除。