> ## Documentation Index
> Fetch the complete documentation index at: https://docs.comfy.org/llms.txt
> Use this file to discover all available pages before exploring further.

# 性能测试与基准测试

> 使用性能测试测量 ComfyUI 工作流速度，然后通过 Comfy Desktop 中的基准测试比较不同 GPU、工作流和实例上的运行结果

**性能测试** 用于测量 ComfyUI 工作流在您的某个实例上运行所需的时间。您可以选择一个实例、加载一个工作流，Comfy Desktop 会按指定的运行次数执行它，为每一次计时的运行记录耗时，并报告最快、最慢、平均和中位时长，同时说明这些数据来自哪套硬件和软件。

**基准测试** 用于比较这些已记录的结果。它会列出每一次已保存的运行，按工作区、实例、硬件或工作流进行筛选，并将已选择的运行以相对速度系数的形式并排对比，让您看清某块 GPU、某个工作流或某个实例比其他快多少。

这两个面板都从应用菜单打开：点击左上角的 ☰ 菜单，然后选择 **Performance Tests** 或 **Benchmarks**。

<img src="https://mintcdn.com/dripart/N4LZwJLSpBN0lv19/images/desktop/usage/performance_tests_menu_entry.png?fit=max&auto=format&n=N4LZwJLSpBN0lv19&q=85&s=8531a565e714af79c9bbf0156c2727b1" alt="打开汉堡菜单的 Dashboard：(1) 标题栏中的 ☰ 按钮，(2) Performance Tests 入口" width="1600" height="1200" data-path="images/desktop/usage/performance_tests_menu_entry.png" />

<Info>
  性能测试会在真实实例上运行真实工作流，因此一次测试的耗时大致等于工作流本身的耗时乘以运行次数。你导入的工作流必须先以 [API 格式](/zh/development/api-development/workflow-api-format) 导出。Comfy Desktop 自带的示例工作流已经是该格式。
</Info>

## 运行性能测试

该面板由三个编号步骤并排组成，窗口较窄时改为纵向排列。

<img src="https://mintcdn.com/dripart/N4LZwJLSpBN0lv19/images/desktop/usage/performance_tests_01_panel.png?fit=max&auto=format&n=N4LZwJLSpBN0lv19&q=85&s=86577c5f2c65e0c69a970ef991cb4a67" alt="已选择实例的 Performance Tests 面板，显示三个编号步骤" width="1280" height="863" data-path="images/desktop/usage/performance_tests_01_panel.png" />

### 1. 选择实例

选择要测试的**工作区**和**实例**。实例及其硬件信息会随结果一并记录，这正是后续比较有意义的原因：来自不同 GPU 的运行结果始终可以区分开。

开始测试时，如果该实例上一次的性能测试会话仍在运行，Comfy Desktop 会先停止该会话，然后以控制台会话启动该实例。当有其他本地 ComfyUI 正在运行、正在启动或正在停止时，Comfy Desktop 会拒绝开始测试，并在提示中列出这些实例。请先停止它们，或等待其启动或停止完成，然后重新运行测试。Comfy Cloud 实例和远程实例在别处运行，不会阻止测试。其他占用 GPU 的任务（例如游戏或视频导出）仍会影响测量结果，运行测试前请先停止它们。

### 2. 选择工作流

你可以选择 Comfy Desktop 自带的示例工作流，也可以使用自己的工作流。

**示例工作流**开箱即用，所需模型会自动下载。点击 **选择示例工作流** 打开选择器：它把示例按模态分成若干标签页（视频、图像、3D、音频；只有存在示例的模态才会显示标签页），每张卡片显示示例的名称、任务以及模型下载大小。点击 **使用工作流** 选定一个。随后 Comfy Desktop 会下载工作流仍缺少的模型，拖放区域会显示下载进度直到完成。使用示例工作流要求实例已完整安装且网络在线；如果模型体积超出剩余磁盘空间，选择器会阻止选择。示例工作流与实例绑定：切换到另一个实例时，会丢弃为前一个实例准备好的示例，除非该示例的会话已经记录了结果。

**使用自己的工作流**时，必须先以 [API 格式](/zh/development/api-development/workflow-api-format) 导出，然后将 `.json` 文件拖放到拖放区域，或点击该区域浏览并选择文件。

<img src="https://mintcdn.com/dripart/N4LZwJLSpBN0lv19/images/desktop/usage/performance_tests_02_example_workflows.png?fit=max&auto=format&n=N4LZwJLSpBN0lv19&q=85&s=bb41a1fa06cbcac26a3969226ca3a76d" alt="示例工作流选择器，按模态显示标签页，卡片上标出模型下载大小" width="1280" height="863" data-path="images/desktop/usage/performance_tests_02_example_workflows.png" />

无论用哪种方式，Comfy Desktop 都会将工作流复制到测试会话文件夹中，因此即使你移动或修改原始文件，测试仍然可以正常运行。

### 3. 配置测量设置

| 设置 | 范围 | 默认值 | 作用 |
| - | - | - | - |
| **预热运行** | 1 到 5 | 1 | 最先执行的运行，用于加载模型并预热缓存。它们不计入结果。 |
| **测量运行** | 1 到 100 | 5 | 在预热运行之后计时的运行。它们的时长用于计算结果。 |

每次运行都会将工作流的数值种子输入加一，因此各次测量运行不会重复完全相同的缓存结果。

三步都设置好后，点击 **Run** 开始测试。旁边的 **Stop** 按钮可以取消正在进行的测试。

### 查看结果

测试运行期间，面板会显示已完成的运行数量以及实例日志。所有运行结束后，实例会被停止，随后显示结果：

* **最快运行**、**最慢运行**、**平均运行**和**中位数运行**，单位为秒
* **测量运行**和**失败运行**：有多少次运行产生了时长数据，有多少次没有
* **运行时长汇总**：对比四项汇总值（最快、最慢、平均和中位数）的柱状图
* **系统信息**：计算设备、显存、内存、PyTorch 版本、xFormers 版本、CPU、CPU 核心数、操作系统和架构

一次运行的时长是 ComfyUI 在服务器上执行该任务所花费的时间，而不是你等待的时间。失败的运行会单独计数，并且不计入统计。

结果旁边有两个按钮：**打开文件夹**会打开会话文件夹，**导出结果**会将摘要和图表保存为 PNG 图像。

## 使用 Benchmarks 对比运行结果

Benchmarks 会读取 Performance Tests 保存的结果，因此在至少一个测试完成之前，它没有任何内容可显示。

### 运行记录库

**运行记录库**按最新的排在最前的顺序，列出结果文件夹中保存的每一条运行记录。其工具栏提供以下功能：

* **选择文件夹**：将面板指向另一个结果文件夹，例如共享驱动器上的文件夹。默认是 Performance Tests 写入的文件夹，参见[结果存储位置](#结果存储位置)。
* **刷新会话**：在其他位置有测试完成之后重新加载该文件夹。
* **搜索运行记录**：按文本过滤列表。
* 用于按工作区、实例、硬件和工作流筛选的下拉菜单。
* **属性**：选择库中显示的列（会话、日期和时间、工作流、实例、工作区、运行次数、GPU 和硬件）。

<img src="https://mintcdn.com/dripart/N4LZwJLSpBN0lv19/images/desktop/usage/benchmarks_01_runs_library.png?fit=max&auto=format&n=N4LZwJLSpBN0lv19&q=85&s=1e3539bb3b2f4ff6dd5dafc5da43b37d" alt="Benchmarks 运行记录库，包含筛选器和已保存运行记录的表格" width="1280" height="863" data-path="images/desktop/usage/benchmarks_01_runs_library.png" />

### 对比运行记录

使用复选框选择两条或更多运行记录，或使用**全选可见运行记录**。库加载时会自动选中最新的三条运行记录。一旦有选中项，库下方就会打开**对比**区域。

对比会为每条选中的运行记录显示一列，旁边是一组指标行：最快、平均、中位数和最慢时长，以及实测的运行次数。其中一条运行记录是**基线**。默认情况下，它是显示的第一列。在**速度**视图中点击某一列的标题，即可改为将该运行记录作为基线。

### 相对速度

对比有两种视图：**时长**和**速度**，可在对比工具栏中切换。相对速度属于**速度**视图，基线也是在该视图中选择的。

**相对速度**是基线时长除以某条运行记录的时长：

* **1.00×** 表示该运行记录的速度与基线相同
* 系数大于 1.00× 表示该运行记录比基线**更快**
* 系数小于 1.00× 表示该运行记录比基线**更慢**

**速度**视图在对数轴上绘制每条运行记录，**较慢**在左、**较快**在右，因此 2 倍与 4 倍的差异可以在同一张图表上保持可读。**时长**视图将每条运行记录的最快和最慢结果绘制为一条线，并标出平均值。没有可用时长的运行记录会标记为不可用。

<img src="https://mintcdn.com/dripart/N4LZwJLSpBN0lv19/images/desktop/usage/benchmarks_02_relative_speed.png?fit=max&auto=format&n=N4LZwJLSpBN0lv19&q=85&s=f7a10359d8f315548b8fe16a5513327b" alt="Benchmarks 相对速度视图，一条运行记录作为基线，另一条标记为更慢" width="1280" height="863" data-path="images/desktop/usage/benchmarks_02_relative_speed.png" />

### 排序与导出

* **排序对比**按相对速度对列进行排序。**手动排序**允许你拖动列来排列自己的顺序，或在聚焦的列上按 Alt+Left / Alt+Right。
* **导出结果**会将整个对比保存为 PNG 图像，这是把结果附加到 issue 或聊天消息中最快捷的方式。

### 管理会话

每个测试都以会话的形式存储。你可以从库中重命名会话（**编辑会话**）或删除会话（**删除**）。删除会移除该会话记录的所有文件。

## 结果存储位置

Performance Tests 会在你把工作流添加到面板时创建一个会话文件夹，并以那一刻的时间戳（`YYYYMMDDHHMMSS`）命名：

```
📂 ComfyUI-Shared/
└── 📂 benchmarks/
    ├── 📂 20260930141522/
    │   ├── my_workflow.json
    │   ├── jobs.json
    │   ├── results.json
    │   └── logs.txt
    └── 📂 20260930163005/
        └── ...
```

| 平台 | 默认结果文件夹 |
| - | - |
| Windows | `%LOCALAPPDATA%\Comfy-Desktop\ComfyUI-Shared\benchmarks` |
| macOS / Linux | `~/ComfyUI-Shared/benchmarks` |

每个会话文件夹包含：

* 面板使用的工作流文件
* `jobs.json`：实例返回的原始任务响应
* `results.json`：Benchmarks 面板读取的摘要
* `logs.txt`：本次运行中实例的控制台输出

由于 Benchmarks 会读取它找到的每个会话文件夹中的 `results.json`，因此只要将会话文件夹复制到 Benchmarks 所指向的文件夹中，就足以比较来自另一台机器的结果。

再次运行同一个已导入的工作流时，结果会写入同一个会话文件夹，并覆盖其中已有的结果。若想保留某次结果用于对比，请在下次测试前重新把工作流添加到面板。

## 前提条件

* 一个 Comfy Desktop 可以启动的独立、已跟踪或远程实例。测试需要一个可正常运行的 ComfyUI 实例，因此无法针对云端实例运行。
* 一个该实例可执行的工作流，包括其所需的任何模型和自定义节点。你导入的工作流必须采用 API 格式；示例工作流已经是该格式，Comfy Desktop 会下载它们的模型。如果实例拒绝该工作流，测试会停止，错误会显示在日志中。实例接受但在执行阶段失败的运行会计入失败运行，并且不计入时长统计。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.