# inference-bench：一款轻量级 LLM 推理性能测试 CLI 工具

> Rust 编写的跨平台推理基准测试工具，支持 Ollama、FastFlowLM 和 llama.cpp，一键测量 TTFT、吞吐量和上下文扩展性能。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-05-29T16:44:19.000Z
- 最近活动: 2026-05-29T16:48:32.182Z
- 热度: 118.9
- 关键词: LLM, benchmark, inference, Ollama, llama.cpp, Rust, CLI, performance, TTFT, throughput
- 页面链接: https://www.zingnex.cn/forum/thread/inference-bench-llm-cli
- Canonical: https://www.zingnex.cn/forum/thread/inference-bench-llm-cli
- Markdown 来源: ingested_event

---

## 原作者与来源

- 原作者/维护者：Peterc3-dev
- 来源平台：github
- 原始标题：inference-bench
- 原始链接：https://github.com/Peterc3-dev/inference-bench
- 来源发布时间/更新时间：2026-05-29T16:44:19Z

# inference-bench：轻量级 LLM 推理性能测试工具\n\n## 原作者与来源\n- **原作者/维护者：** Peterc3-dev\n- **来源平台：** GitHub\n- **原始标题：** inference-bench\n- **原始链接：** https://github.com/Peterc3-dev/inference-bench\n- **发布时间：** 2026-05-29\n\n## 背景：为什么需要推理性能测试\n\n随着大语言模型（LLM）在本地部署的普及，开发者面临一个核心问题：如何客观评估不同推理后端（如 Ollama、llama.cpp、FastFlowLM）的实际性能表现？\n\n常见的性能指标包括：\n- **TTFT（Time To First Token）**：首 token 生成时间，衡量响应延迟\n- **Throughput（吞吐量）**：每秒生成的 token 数量，衡量生成速度\n- **上下文扩展能力**：长上下文场景下的性能衰减情况\n\n然而，手动测试这些指标既繁琐又难以保证一致性。inference-bench 正是为解决这一问题而生。\n\n## 项目概述\n\ninference-bench 是一款用 Rust 编写的轻量级命令行工具，专注于简化 LLM 推理性能的基准测试。它的设计理念是"开箱即用"——无需复杂配置，即可对多个主流推理后端进行标准化测试。\n\n### 核心特性\n\n1. **自动检测推理服务**：默认扫描常见的本地端口\n   - Ollama（:11434）\n   - FastFlowLM（:52625）\n   - llama.cpp（:8080）\n\n2. **多维度测试命令**：\n   - `ttft`：测量首 token 生成时间\n   - `throughput`：测试生成吞吐量（token/秒）\n   - `context`：分析上下文长度对性能的影响\n   - `compare`：一键对比所有检测到的端点\n   - `detect`：列出当前运行的推理服务\n\n3. **灵活的输出格式**：支持终端表格、JSON 和 CSV 三种输出形式，便于脚本集成和数据分析\n\n4. **可配置的测试参数**：包括预热次数、测量重复次数、生成 token 数、自定义提示词等\n\n## 安装与使用\n\n### 安装\n\n```bash\ncargo build --release\ncp target/release/inference-bench ~/.local/bin/\n```\n\n### 基础用法\n\n```bash\n# 检测运行中的推理端点\ninference-bench detect\n\n# 测试首 token 时间（使用 Qwen3 4B 模型）\ninference-bench ttft --model qwen3:4b\n\n# 测试吞吐量（生成 200 个 token）\ninference-bench throughput --tokens 200\n\n# 测试上下文扩展性能\ninference-bench context --repeat 5\n\n# 全面对比所有端点，输出 JSON\ninference-bench compare --json\n\n# 测试自定义端点\ninference-bench throughput --url http://localhost:8080\n```\n\n### 常用参数\n\n| 参数 | 默认值 | 说明 |\n|------|--------|------|\n| `--model` | qwen3:4b | 模型名称（Ollama/FastFlowLM）|\n| `--tokens` | 100 | 每次运行生成的 token 数 |\n| `--repeat` | 3 | 测量重复次数 |\n| `--warmup` | 1 | 正式测量前的预热次数 |\n| `--json` | - | 以 JSON 格式输出 |\n| `--csv` | - | 以 CSV 格式输出 |\n| `--url` | - | 覆盖默认端点 URL |\n| `--prompt` | - | 自定义测试提示词 |\n\n## 技术亮点\n\n### 1. 跨后端统一接口\n\ninference-bench 的最大价值在于提供了一致的测试接口，无论底层使用的是 Ollama、FastFlowLM 还是 llama.cpp，用户都能用相同的命令进行测试。这消除了不同工具间 API 差异带来的比较困难。\n\n### 2. 科学的测试方法\n\n工具内置了预热机制（warmup）和多次测量取平均的逻辑，减少了冷启动和随机波动对结果的影响，使测试数据更具参考价值。\n\n### 3. 上下文性能分析\n\n`context` 子命令通过逐步增加上下文长度，帮助开发者识别模型性能随输入长度增长的衰减曲线。这对于需要处理长文档的应用场景尤为重要。\n\n### 4. 对比模式\n\n`compare` 命令可以一次性对所有检测到的端点运行完整测试套件，生成横向对比报告，方便用户根据实际需求选择最优方案。\n\n## 实际应用场景\n\n### 场景一：模型选型\n\n在决定使用哪个模型时，可以通过 throughput 测试对比不同规模模型的实际生成速度，在性能和资源占用间找到平衡点。\n\n### 场景二：后端优化验证\n\n当调整推理后端的参数（如批大小、线程数、GPU 层数）时，使用 inference-bench 可以快速验证改动是否带来了预期的性能提升。\n\n### 场景三：硬件评估\n\n在新硬件上部署 LLM 前，运行完整的 benchmark 可以建立性能基线，为后续容量规划提供数据支持。\n\n### 场景四：持续集成\n\nJSON/CSV 输出格式便于将性能测试集成到 CI/CD 流程中，实现性能回归的自动化监控。\n\n## 局限与展望\n\n目前 inference-bench 主要面向本地部署场景，支持的推理后端相对有限。未来可能的扩展方向包括：\n\n- 支持更多推理框架（如 vLLM、TensorRT-LLM）\n- 增加并发请求测试模式\n- 支持远程 API 端点（OpenAI 兼容接口）\n- 内置结果可视化\n\n## 总结\n\ninference-bench 是一款实用且专注的工具，它填补了 LLM 本地部署生态中"性能测试标准化"的空白。对于任何需要在本地运行大语言模型的开发者来说，这都是一个值得加入工具箱的利器。\n\n无论你是想对比不同模型的速度，验证后端优化效果，还是为硬件选型收集数据，inference-bench 都能提供简洁而可靠的测试能力。
