服务性能压测
概述
本文档介绍如何在百舸平台对已部署的在线推理服务进行性能压测,包括创建压测任务、管理压测任务、查看压测详情与结果报表,以及实时监控压测过程中的性能指标变化趋势。
性能压测功能面向在线推理服务上线前的性能评估场景,通过模拟不同负载下的并发请求,帮助用户发现服务性能瓶颈、评估服务承载能力并保障 SLA。当前版本仅支持对标准服务中的 LLM 和 VLM 模型进行性能压测。
前提条件
- 已在百舸平台完成标准服务的创建,且目标服务处于 运行中 状态。
- 平台提供公共数据集,若需使用自定义数据集,相关数据文件已上传至 BOS,并已记录具体文件路径。
创建压测任务
步骤 1:进入性能压测 Tab
登录百舸控制台,在导航栏依次选择 大规模训练与推理 -> 在线服务部署,进入「在线服务部署」页面。在顶部切换栏选择 在线服务。
在服务列表中找到目标标准服务(服务状态须为「运行中」),点击该服务的 服务名称,进入服务详情页。在服务详情页顶部 Tab 栏中点击 【性能压测】 Tab,进入压测任务列表。


说明: 仅「运行中」状态的服务支持创建压测任务。若当前无可用服务,需先通过 【部署服务】 完成服务创建,并等待其进入运行中状态。
步骤 2:创建压测任务
进入 【性能压测】 Tab 后,点击 【创建压测任务】 按钮,弹出创建表单。
说明: 若目标服务不处于运行中状态,【创建压测任务】 按钮置灰不可点击,鼠标悬停时提示“仅支持对运行中的服务进行压测”。
步骤 3:填写基本信息
在创建表单的「基本信息」区域,依次填写以下字段:
| 参数 | 必填 | 说明 |
|---|---|---|
| 压测任务名称 | 是 | 支持小写字母、数字及 -,须以小写字母开头,以小写字母或数字结尾;同一服务下不可重名。 |
| 资源规格 | 是 | 选择资源池/队列,填写所需 CPU 核数与内存容量。该资源在资源统计视图中归属「训练任务」类型。 |
| 模型类型 | 是 | 可选 LLM 或 VLM。不同模型类型对应不同的预置数据集和压测方法。 |
| 模型 ID | 是 | 目前仅支持从 魔搭 加载 Tokenizer。最多 200 个字符,支持大小写字母、数字及特殊字符。 |
| 模型名称 | 是 | 即压测请求参数中的 model name 字段值。最多 100 个字符,支持大小写字母、数字及特殊字符。 |
步骤 4:压测配置
在「压测配置」区域的「压测地址」部分,依次完成以下配置:
- 端口号:若目标服务配置了多个端口,在下拉列表中选择需要压测的端口号。
-
URL 类型:选择 内网地址 或 公网地址。
- 压测工具与服务跨 VPC 部署时,只能选择公网地址。
- 选择公网地址(BLB 接入服务)时,需为任务所属资源池配置 NAT 网关,并在 BLB 实例安全组入站规则中放行 NAT 网关关联的公网 IP。
- 选择公网地址(云原生 AI 网关接入服务)时,同样需为任务所属资源池配置 NAT 网关。
- 接口:选择压测接口,支持
/v1/chat/completions(Chat 接口)和/v1/completions(Completions 接口)。
说明: 与推理服务所在资源池同一个 VPC 下的资源池部署压测任务可以选择外网和内网。与推理服务所在资源池不在同一个 VPC 下的资源池部署压测任务只能选择外网。
步骤 5:配置压测数据集
在「压测数据集」区域选择数据集类型。数据集类型必填,默认选择「公共数据集」。
公共数据集:
- 模型类型为 LLM 时,默认预置 ShareGPT_V3,默认格式为 openqa。
- 模型类型为 VLM 时,默认预置 flickr8k。
自定义数据集(仅 LLM 支持):
- 选择存储类型:BOS。
- 选择 Bucket,填写具体文件的存储路径。
-
选择 数据集格式:
- openqa:问答对格式。
- line_by_line:逐行格式。
说明: VLM 模型不支持自定义数据集,仅可使用平台预置数据集。
步骤 6:配置其他压测参数
继续填写以下压测参数:
| 参数 | 必填 | 说明 |
|---|---|---|
| API Key | 否 | 压测调用服务的鉴权 Token。服务已开启平台鉴权时无需填写;使用云原生网关接入时会自动填入网关 Token。 |
| 上下文长度 | 否 | 控制输入/输出 Token 的上下限,填写最小/最大输入输出长度,范围为 1–10,000,000。 |
| 单个请求样本数 | 是 | 每轮请求携带的样本数。总请求样本数 = 单个请求样本数 × 并发数。 |
| 起始并发数 | 是 | 压测起始阶段的并发请求数,取值范围为 1–50。 |
| 最大并发数 | 是 | 压测允许达到的最大并发请求数,取值范围为 1–50。 |
| 每阶段增加并发数 | 是 | 每个压测阶段递增的并发数,取值范围为 1–50。 |
| Header | 否 | 自定义 HTTP 请求头,最多可添加 20 个。 |
步骤 7:提交创建
确认所有参数填写无误后,点击 【确认】 按钮,完成压测任务创建。任务创建成功后,将出现在 【性能压测】 Tab 的任务列表中,初始状态为「创建中」或「排队中」。
管理压测任务
查看压测任务列表
在百舸控制台左侧导航栏中,依次选择 大规模训练与推理->在线服务部署,进入「在线服务部署」页面。页面默认位于 在线服务 Tab,并选中 标准服务 类型。
点击目标标准服务的 服务名称,进入服务详情页,点击顶部 Tab 栏中的 【性能压测】 Tab。
页面展示压测任务列表,包含以下字段:
| 字段 | 说明 |
|---|---|
| 压测任务名称/ID | 任务标识,同一服务内唯一。 |
| 状态 | 排队中、创建中、创建失败、压测中、停止中、已停止、已完成、失败。 |
| 模型类型 | LLM 或 VLM。 |
| 模型 ID | 加载 Tokenizer 所使用的模型 ID。 |
| 资源池名称/ID | 运行该压测任务所使用的资源池。 |
| 队列名称/ID | 所属资源队列。 |
| 资源规格 | CPU/内存规格。 |
| 创建时间 | 任务创建时间。 |
| 操作 | 复制、停止(压测中状态)、删除(终态)。 |
复制压测任务
在压测任务列表中,找到需要复制的目标任务,点击操作列中的 【复制】。
页面跳转至创建压测任务表单,并自动填充被复制任务的全部参数(任务名称、资源规格、模型类型、模型 ID、压测配置等)。按需修改参数后,点击 【提交】 即完成新任务的创建。

停止压测任务
在压测任务列表中,找到状态为「压测中」的任务,点击操作列中的 【停止】。
弹出二次确认弹窗,确认后任务状态切换为「停止中」,稍后变更为「已停止」,压测工具 Pod 随之释放资源。
注意:停止操作不可逆,当前压测进度将中止,但已产出的压测结果数据不会被删除。

删除压测任务
终态任务(创建失败 / 失败 / 已停止 / 已完成): 在对应任务行点击操作列中的 【删除】,弹出二次确认弹窗,确认后完成删除。
压测中状态任务: 须先执行「停止」操作,待任务进入「已停止」终态后,再执行删除。
删除服务时的联动说明: 若服务下仍存在执行中的压测任务,删除服务时会弹窗提示“有压测任务正在执行,删除后将停止压测并删除任务和测试结果”,确认后平台同步停止并删除所有关联压测任务。
注意: 压测任务删除后结果数据不可恢复,请在删除前确认已记录或保存所需压测结果。
查看压测任务详情
详情面板默认展示 基本信息 区块,内容分三个部分:
- 基本信息: 压测任务名称、资源规格、模型类型、模型 ID、模型名称。
-
压测配置:
- 压测地址: 服务推理接口完整 URL(含协议、主机、端口、API 路径)。
- 压测结果存储路径: BOS 格式路径(如
bos://<bucket>/<prefix>/),压测完成后结果文件存储于此。 - 压测数据集: 数据集类型(公共数据集 / 自定义数据集)及数据来源路径。
- API Key: 调用压测服务时使用的认证密钥。
- 上下文长度: 输入/输出的最小和最大 Token 数范围。
- 并发数: 起始并发数、每阶段增加并发数、最大并发数。
- 单个请求样本数: 每次请求携带的样本数量。
- 关联任务: 与该压测任务关联的训练任务名称,点击可跳转至对应训练任务详情。

查看压测结果
在压测任务列表中选择状态为「已完成」的任务,点击任务名称进入详情页。详情页包含 基本信息 和 压测结果 页签。点击 压测结果 后,页面以表格展示不同并发阶段的压测指标,包含以下列:
| 指标列名 | 说明 |
|---|---|
| Average input tokens per request | 平均输入 token 数/请求。 |
| Average inter-token latency (s) | 平均 token 间延迟。 |
| Average latency (s) | 平均延迟。 |
| Average output tokens per request | 平均输出 token 数/请求。 |
| Average time per output token (s) | 平均每个输出 token 耗时。 |
| Average time to first token (s) | 首 token 平均响应时间。 |
| Failed requests | 失败请求数。 |
| Number of concurrency | 并发数。 |
| Output token throughput (tok/s) | 输出 token 吞吐量。 |
| Request throughput (req/s) | 请求吞吐量。 |
| Succeed requests | 成功请求数。 |
| Time taken for tests (s) | 测试总耗时。 |
| Total requests | 总请求数。 |
| Total token throughput (tok/s) | 总 token 吞吐量。 |
下载压测报告
压测结果已存储在平台提供公共BOS中,您可以在压测任务详情中查看BOS地址,下载压测报告文件。路径以 bos:// 开头。点击路径右侧的复制图标,可将完整 BOS 路径复制到剪贴板。

评价此篇文章
