vllm bench sweep serve_sla¶
JSON 命令行参数¶
当传递 JSON 命令行参数时,以下几组参数是等效的
--json-arg '{"key1": "value1", "key2": {"key3": "value2"}}'--json-arg.key1 value1 --json-arg.key2.key3 value2
此外,列表元素可以使用 + 单独传递
--json-arg '{"key4": ["value3", "value4", "value5"]}'--json-arg.key4+ value3 --json-arg.key4+='value4,value5'
参数¶
--serve-cmd¶
用于运行服务器的命令:vllm serve ...
默认值: None
--bench-cmd¶
用于运行基准测试的命令:vllm bench serve ...
默认值: None
--after-bench-cmd¶
在基准测试运行完成后,调用此命令而不是默认的 ServerWrapper.clear_cache()。
默认值: None
--show-stdout¶
如果设置,则记录子命令的标准输出。这对于调试很有用,但可能会产生大量输出。
默认值: False
--serve-params¶
包含 vllm serve 命令参数组合的 JSON 文件路径。可以是字典列表,也可以是字典(键是基准测试名称)。如果同时提供了 serve_params 和 bench_params,则脚本将遍历它们的笛卡尔积。
默认值: None
--bench-params¶
包含 vllm bench serve 命令参数组合的 JSON 文件路径。可以是字典列表,也可以是字典(键是基准测试名称)。如果同时提供了 serve_params 和 bench_params,则脚本将遍历它们的笛卡尔积。
默认值: None
-o, --output-dir¶
结果将写入的目录。
默认值:results
--num-runs¶
每个参数组合的运行次数。
默认值:3
--dry-run¶
如果设置,则打印要运行的命令,然后退出而不执行它们。
默认值: False
--resume¶
将此设置为 output_dir 下的目录名称(该目录是时间戳),以恢复脚本的先前执行,即仅运行尚未生成输出文件的参数组合。
默认值: None
--link-vars¶
服务和基准测试之间链接变量的逗号分隔列表,例如 max_num_seqs=max_concurrency,max_model_len=random_input_len
默认值: ""
SLA 选项¶
--sla-params¶
包含要满足的 SLA 约束列表的 JSON 文件路径。每个约束都以 {"<KEY>": "<OP><VALUE>"} 格式表示,例如:{"p99_e2el_ms": "<=500"} 表示端到端延迟在 99% 的时间内应小于 500ms。设置此选项将在 SLA 模式下运行此脚本,该模式搜索满足 serve_params、bench_params 和 sla_params 组合的最大 sla_variable。
默认值: None
--sla-variable¶
可能的选择:request_rate, max_concurrency
要调整请求速率还是最大并发数来满足 SLA 约束。
默认值:request_rate