需先有一个可访问的 LLM 服务端,工具本身不部署模型;--model 默认 deepseek-r1,不填会按此模型名请求;Docker 运行时需挂载 $PWD/output 目录才能拿到报告
pip install -r requirements.txt
python run_benchmarks.py --llm_url "http://your-llm-server" --api_key "your-api-key" --model "your-model-name" --use_long_context 硬件要求按 README 说明
README 未说明,工具本身是客户端压测脚本,需自行准备可访问的 LLM 服务端
有 Docker 镜像
压测 LLM 服务并发性能并自动生成报告的 Python 工具
对本地大模型服务做并发压力测试,自动跑多轮请求并生成性能报告,方便对比 Ollama、vLLM 等推理后端的吞吐和延迟表现。
核心能力
- 多阶段自动加压,并发从 1 逐步提升到 300
- 支持短文本与长文本两种测试场景
- 统计详细性能指标并生成可视化报告
- 输出 JSON 便于二次分析或可视化
- 支持流式响应测试与连接池管理
容易踩的坑
内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README
暂无 release 数据(可能没有发版,或尚未同步)。
用户点评
登录用户的真实使用记录,可按版本和硬件筛选共 0 条
还没有人点评。第一个说出真实体验的人最有价值。
LLM-Benchmark
LLM 并发性能测试工具,支持自动化压力测试和性能报告生成。
功能特点
- 多阶段并发测试(从低并发逐步提升到高并发)
- 自动化测试数据收集和分析
- 详细的性能指标统计和可视化报告
- 支持短文本和长文本测试场景
- 灵活的配置选项
- 生成 JSON 输出以便进一步分析或可视化
项目结构
llm-benchmark/
├── run_benchmarks.py # 自动化测试脚本,执行多轮压测
├── llm_benchmark.py # 核心并发测试实现
├── README.md # 项目文档
└── assets/ # 资源文件夹
组件说明
-
run_benchmarks.py:
- 执行多轮自动化压力测试
- 自动调整并发配置(1-300 并发)
- 收集和汇总测试数据
- 生成美观的性能报告
-
llm_benchmark.py:
- 实现核心并发测试逻辑
- 管理并发请求和连接池
- 收集详细性能指标
- 支持流式响应测试
使用方法
安装依赖
pip install -r requirements.txt
运行全套性能测试:
python run_benchmarks.py \
--llm_url "http://your-llm-server" \
--api_key "your-api-key" \
--model "your-model-name" \
--use_long_context
运行单次并发测试:
python llm_benchmark.py \
--llm_url "http://your-llm-server" \
--api_key "your-api-key" \
--model "your-model-name" \
--num_requests 100 \
--concurrency 10
docker方式运行
构建镜像
docker build -t llm-benchmark .
如果不想构建,可直接拉取已存在的镜像
# 拉取镜像
docker pull samge/llm-benchmark
# 镜像重命名
docker tag samge/llm-benchmark llm-benchmark
创建输出目录 - 保存测试报告
mkdir -p $PWD/output
运行全套性能测试
docker run -it --rm -v $PWD/output:/app/output llm-benchmark \
python run_benchmarks.py \
--llm_url "http://your-llm-server" \
--api_key "your-api-key" \
--model "your-model-name" \
--use_long_context
运行单次并发测试
docker run -it --rm -v $PWD/output:/app/output llm-benchmark \
python llm_benchmark.py \
--llm_url "http://your-llm-server" \
--api_key "your-api-key" \
--model "your-model-name" \
--num_requests 100 \
--concurrency 10
命令行参数
run_benchmarks.py 参数
| 参数 | 说明 | 默认值 |
|---|---|---|
| --llm_url | LLM 服务器 URL | 必填 |
| --api_key | API 密钥 | 选填 |
| --model | 模型名称 | deepseek-r1 |
| --use_long_context | 使用长文本测试模式 | False |
llm_benchmark.py 参数
| 参数 | 说明 | 默认值 |
|---|---|---|
| --llm_url | LLM 服务器 URL | 必填 |
| --api_key | API 密钥 | 选填 |
| --model | 模型名称 | deepseek-r1 |
| --num_requests | 总请求数 | 必填 |
| --concurrency | 并发数 | 必填 |
| --output_tokens | 输出 token 数限制 | 50 |
| --request_timeout | 请求超时时间(秒) | 60 |
| --output_format | 输出格式(json/line) | line |
测试报告示例

开源许可
本项目采用 MIT License 开源协议。