性能测试与基准测试
使用性能测试测量 ComfyUI 工作流速度,然后通过 Comfy Desktop 中的基准测试比较不同 GPU、工作流和实例上的运行结果
性能测试与基准测试
使用性能测试测量 ComfyUI 工作流速度,然后通过 Comfy Desktop 中的基准测试比较不同 GPU、工作流和实例上的运行结果
性能测试 用于测量 ComfyUI 工作流在您的某个实例上运行所需的时间。您可以选择一个实例、加载一个工作流,Comfy Desktop 会按指定的运行次数执行它,为每一次计时的运行记录耗时,并报告最快、最慢、平均和中位时长,同时说明这些数据来自哪套硬件和软件。
基准测试 用于比较这些已记录的结果。它会列出每一次已保存的运行,按工作区、实例、硬件或工作流进行筛选,并将已选择的运行以相对速度系数的形式并排对比,让您看清某块 GPU、某个工作流或某个实例比其他快多少。
这两个面板都从应用菜单打开:点击左上角的 ☰ 菜单,然后选择 Performance Tests 或 Benchmarks。

[!NOTE] 性能测试会在真实实例上运行真实工作流,因此一次测试的耗时大致等于工作流本身的耗时乘以运行次数。你导入的工作流必须先以 API 格式 导出。Comfy Desktop 自带的示例工作流已经是该格式。
运行性能测试
该面板由三个编号步骤并排组成,窗口较窄时会改为纵向排列。

1. 选择实例
选择要测试的工作区和实例。实例列表按工作区筛选,因此要访问属于某个团队的实例,请先切换到该工作区。实例及其硬件信息会随结果一并记录,这正是后续比较有意义的原因:来自不同 GPU 的运行结果始终可以区分开。
开始测试时,如果该实例上一次的性能测试会话仍在运行,Comfy Desktop 会先停止该会话,然后以控制台会话启动该实例。当有其他本地 ComfyUI 正在运行、正在启动或正在停止时,Comfy Desktop 会拒绝开始测试,并在提示中列出这些实例。请先停止它们,或等待其启动或停止完成,然后重新运行测试。Comfy Cloud 和远程实例在别处运行,绝不会阻止测试。其他占用 GPU 的任务(例如游戏或视频导出)仍会影响测量结果,因此运行测试前请先停止它们。
2. 选择工作流
你可以选择 Comfy Desktop 自带的示例工作流,也可以使用自己的工作流。
点击 选择示例工作流 打开选择器。示例按 视频、图像 和 音频 标签页分组,每张卡片显示名称、任务以及其模型下载大小。当某张卡片的模型已在磁盘上时,硬盘图标会代替该大小,将鼠标悬停其上会显示 已下载;这些模型既不会被再次下载,也不会计入可用空间。

选中一张卡片并点击 使用工作流。Comfy Desktop 会获取 API 格式的提示词并在后台下载缺失模型:拖放区域会显示进度,下载完成前 运行 一直不可用,垃圾桶按钮的提示会切换为 取消下载。下载失败会移除该工作流。

使用选择器需要已安装的实例和可用的连接,缺少任一项时会在拖放区域下方说明。当模型体积超出可用磁盘空间时,卡片上方会出现警告,且 使用工作流 保持禁用:

示例属于某个实例:切换实例会丢弃已准备好的示例,除非已有测试使用过它。内置示例集合会随版本变化。
使用自己的工作流时,必须以 API 格式 导出。将 .json 文件拖放到拖放区域,或点击该区域浏览并选择文件。
无论用哪种方式,Comfy Desktop 都会将工作流复制到测试会话文件夹中,因此即使你移动或修改原始文件,测试仍然可以正常运行。
3. 设置测量参数
| 设置 | 范围 | 默认值 | 作用 |
|---|---|---|---|
| 预热运行 | 0 到 5 | 1 | 最先执行的运行,用于加载模型并预热缓存。它们不计入结果。设为 0 可跳过预热。 |
| 测量运行 | 1 到 100 | 5 | 在预热运行之后计时的运行。它们的时长用于计算结果。 |
每次运行都会将工作流的数值种子输入加一,因此各次测量运行不会重复完全相同的缓存结果。
三步都设置好后,点击 运行 开始测试。旁边的 停止 按钮可以取消正在进行的测试。
查看结果
测试运行期间,面板会显示已完成的运行数量以及实例日志。所有运行结束后,实例会被停止,随后显示结果:
- 最快运行、最慢运行、平均运行和中位数运行,单位为秒
- 测量运行和失败运行:有多少次运行产生了时长数据,有多少次没有
- 运行时长汇总:对比四项汇总值(最快、最慢、平均和中位数)的柱状图
- 系统信息:计算设备、显存、内存、PyTorch 版本、xFormers 版本、CPU、CPU 核心数、操作系统和架构
一次运行的时长是 ComfyUI 在服务器上执行该任务所花费的时间,而不是你等待的时间。失败的运行会单独计数,并且不计入统计。
结果旁边有两个按钮:打开文件夹会打开会话文件夹,导出结果会将摘要和图表保存为 PNG 图像。
使用 Benchmarks 对比运行结果
Benchmarks 会读取 Performance Tests 保存的结果,因此在至少一个测试完成之前,它没有任何内容可显示。
运行记录库
运行记录库按最新的排在最前的顺序,列出结果文件夹中保存的每一条运行记录。其工具栏提供以下功能:
- 选择文件夹:将面板指向另一个结果文件夹,例如共享驱动器上的文件夹。默认是 Performance Tests 写入的文件夹,参见结果存储位置。
- 刷新会话:在其他位置有测试完成之后重新加载该文件夹。
- 搜索运行记录:按文本过滤列表。
- 用于按工作区、实例、硬件和工作流筛选的下拉菜单。
- 属性:选择库中显示的列(会话、日期和时间、工作流、实例、工作区、运行次数、GPU 和硬件)。

对比运行记录
使用复选框选择两条或更多运行记录,或使用全选可见运行记录。库加载时会自动选中最新的三条运行记录。一旦有选中项,库下方就会打开对比区域。
对比会为每条选中的运行记录显示一列,旁边是一组指标行:最快、平均、中位数和最慢时长,以及实测的运行次数。其中一条运行记录是基线。默认情况下,它是显示的第一列。在速度视图中点击某一列的标题,即可改为将该运行记录作为基线。
相对速度
对比有两种视图:时长和速度,可在对比工具栏中切换。相对速度属于速度视图,基线也是在该视图中选择的。
相对速度是基线时长除以某条运行记录的时长:
- 1.00× 表示该运行记录的速度与基线相同
- 系数大于 1.00× 表示该运行记录比基线更快
- 系数小于 1.00× 表示该运行记录比基线更慢
速度视图在对数轴上绘制每条运行记录,较慢在左、较快在右,因此 2 倍与 4 倍的差异可以在同一张图表上保持可读。时长视图将每条运行记录的最快和最慢结果绘制为一条线,并标出平均值。没有可用时长的运行记录会标记为不可用。

排序与导出
- 排序对比按相对速度对列进行排序。手动排序允许你拖动列来排列自己的顺序,或在聚焦的列上按 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 会下载它们的模型。如果实例拒绝该工作流,测试会停止,错误会显示在日志中。实例接受但在执行阶段失败的运行会计入失败运行,并且不计入时长统计。