跳到主要内容

性能测试

Go 基准测试用于衡量正在运行的 Ollama 服务器的端到端性能。运行这些测试可以评估模型在您硬件上的推理性能,并测量代码更改的影响。

使用场景

在以下情况下运行这些基准测试:

  • 对模型推理引擎进行更改时
  • 修改模型加载/卸载逻辑时
  • 更改提示词处理或令牌生成代码时
  • 实现新的模型架构时
  • 在不同硬件配置上测试性能时

前置条件

  • Ollama 服务器在本地运行,使用 ollama serve 命令启动,监听地址为 127.0.0.1:11434

使用方法和示例

注意: 所有命令必须在 Ollama 项目的根目录下运行。

基本语法:

go test -bench=. ./benchmark/... -m $MODEL_NAME

必需参数:

  • -bench=.:运行所有基准测试
  • -m:要测试的模型名称

可选参数:

  • -count N:基准测试运行次数(用于统计分析)
  • -timeout T:基准测试的最大运行时间(例如 "10m" 表示 10 分钟)

常见使用模式:

指定模型运行单次基准测试:

go test -bench=. ./benchmark/... -m llama3.3

输出指标

基准测试报告几个关键指标:

  • gen_tok/s:每秒生成的令牌数
  • prompt_tok/s:每秒处理的提示词令牌数
  • ttft_ms:首个令牌生成时间(毫秒)
  • load_ms:模型加载时间(毫秒)
  • gen_tokens:总生成令牌数
  • prompt_tokens:总处理的提示词令牌数

每个基准测试运行两种场景:

  • 冷启动:每次测试都从磁盘加载模型
  • 热启动:模型预先加载到内存中

每种场景测试三种提示词长度:

  • 短提示词(100 个令牌)
  • 中等提示词(500 个令牌)
  • 长提示词(1000 个令牌)
优云智算