Skip to main content
性能测试 用于测量 ComfyUI 工作流在您的某个实例上运行所需的时间。您可以选择一个实例、加载一个工作流,Comfy Desktop 会按指定的运行次数执行它,为每一次计时的运行记录耗时,并报告最快、最慢、平均和中位时长,同时说明这些数据来自哪套硬件和软件。 基准测试 用于比较这些已记录的结果。它会列出每一次已保存的运行,按工作区、实例、硬件或工作流进行筛选,并将已选择的运行以相对速度系数的形式并排对比,让您看清某块 GPU、某个工作流或某个实例比其他快多少。 这两个面板都从应用菜单打开:点击左上角的 ☰ 菜单,然后选择 Performance Tests 或 Benchmarks。 打开汉堡菜单的 Dashboard:(1) 标题栏中的 ☰ 按钮,(2) Performance Tests 入口
性能测试会在真实实例上运行真实工作流,因此一次测试的耗时大致等于工作流本身的耗时乘以运行次数。你导入的工作流必须先以 API 格式 导出。Comfy Desktop 自带的示例工作流已经是该格式。

运行性能测试

该面板由三个编号步骤并排组成,窗口较窄时改为纵向排列。 已选择实例的 Performance Tests 面板,显示三个编号步骤

1. 选择实例

选择要测试的工作区和实例。实例及其硬件信息会随结果一并记录,这正是后续比较有意义的原因:来自不同 GPU 的运行结果始终可以区分开。 开始测试时,如果该实例上一次的性能测试会话仍在运行,Comfy Desktop 会先停止该会话,然后以控制台会话启动该实例。当有其他本地 ComfyUI 正在运行、正在启动或正在停止时,Comfy Desktop 会拒绝开始测试,并在提示中列出这些实例。请先停止它们,或等待其启动或停止完成,然后重新运行测试。Comfy Cloud 实例和远程实例在别处运行,不会阻止测试。其他占用 GPU 的任务(例如游戏或视频导出)仍会影响测量结果,运行测试前请先停止它们。

2. 选择工作流

你可以选择 Comfy Desktop 自带的示例工作流,也可以使用自己的工作流。 示例工作流开箱即用,所需模型会自动下载。点击 选择示例工作流 打开选择器:它把示例按模态分成若干标签页(视频、图像、3D、音频;只有存在示例的模态才会显示标签页),每张卡片显示示例的名称、任务以及模型下载大小。点击 使用工作流 选定一个。随后 Comfy Desktop 会下载工作流仍缺少的模型,拖放区域会显示下载进度直到完成。使用示例工作流要求实例已完整安装且网络在线;如果模型体积超出剩余磁盘空间,选择器会阻止选择。示例工作流与实例绑定:切换到另一个实例时,会丢弃为前一个实例准备好的示例,除非该示例的会话已经记录了结果。 使用自己的工作流时,必须先以 API 格式 导出,然后将 .json 文件拖放到拖放区域,或点击该区域浏览并选择文件。 示例工作流选择器,按模态显示标签页,卡片上标出模型下载大小 无论用哪种方式,Comfy Desktop 都会将工作流复制到测试会话文件夹中,因此即使你移动或修改原始文件,测试仍然可以正常运行。

3. 配置测量设置

每次运行都会将工作流的数值种子输入加一,因此各次测量运行不会重复完全相同的缓存结果。 三步都设置好后,点击 Run 开始测试。旁边的 Stop 按钮可以取消正在进行的测试。

查看结果

测试运行期间,面板会显示已完成的运行数量以及实例日志。所有运行结束后,实例会被停止,随后显示结果:
  • 最快运行、最慢运行、平均运行和中位数运行,单位为秒
  • 测量运行和失败运行:有多少次运行产生了时长数据,有多少次没有
  • 运行时长汇总:对比四项汇总值(最快、最慢、平均和中位数)的柱状图
  • 系统信息:计算设备、显存、内存、PyTorch 版本、xFormers 版本、CPU、CPU 核心数、操作系统和架构
一次运行的时长是 ComfyUI 在服务器上执行该任务所花费的时间,而不是你等待的时间。失败的运行会单独计数,并且不计入统计。 结果旁边有两个按钮:打开文件夹会打开会话文件夹,导出结果会将摘要和图表保存为 PNG 图像。

使用 Benchmarks 对比运行结果

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

运行记录库

运行记录库按最新的排在最前的顺序,列出结果文件夹中保存的每一条运行记录。其工具栏提供以下功能:
  • 选择文件夹:将面板指向另一个结果文件夹,例如共享驱动器上的文件夹。默认是 Performance Tests 写入的文件夹,参见结果存储位置。
  • 刷新会话:在其他位置有测试完成之后重新加载该文件夹。
  • 搜索运行记录:按文本过滤列表。
  • 用于按工作区、实例、硬件和工作流筛选的下拉菜单。
  • 属性:选择库中显示的列(会话、日期和时间、工作流、实例、工作区、运行次数、GPU 和硬件)。
Benchmarks 运行记录库,包含筛选器和已保存运行记录的表格

对比运行记录

使用复选框选择两条或更多运行记录,或使用全选可见运行记录。库加载时会自动选中最新的三条运行记录。一旦有选中项,库下方就会打开对比区域。 对比会为每条选中的运行记录显示一列,旁边是一组指标行:最快、平均、中位数和最慢时长,以及实测的运行次数。其中一条运行记录是基线。默认情况下,它是显示的第一列。在速度视图中点击某一列的标题,即可改为将该运行记录作为基线。

相对速度

对比有两种视图:时长和速度,可在对比工具栏中切换。相对速度属于速度视图,基线也是在该视图中选择的。 相对速度是基线时长除以某条运行记录的时长:
  • 1.00× 表示该运行记录的速度与基线相同
  • 系数大于 1.00× 表示该运行记录比基线更快
  • 系数小于 1.00× 表示该运行记录比基线更慢
速度视图在对数轴上绘制每条运行记录,较慢在左、较快在右,因此 2 倍与 4 倍的差异可以在同一张图表上保持可读。时长视图将每条运行记录的最快和最慢结果绘制为一条线,并标出平均值。没有可用时长的运行记录会标记为不可用。 Benchmarks 相对速度视图,一条运行记录作为基线,另一条标记为更慢

排序与导出

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

管理会话

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

结果存储位置

Performance Tests 会在你把工作流添加到面板时创建一个会话文件夹,并以那一刻的时间戳(YYYYMMDDHHMMSS)命名:
每个会话文件夹包含:
  • 面板使用的工作流文件
  • jobs.json:实例返回的原始任务响应
  • results.json:Benchmarks 面板读取的摘要
  • logs.txt:本次运行中实例的控制台输出
由于 Benchmarks 会读取它找到的每个会话文件夹中的 results.json,因此只要将会话文件夹复制到 Benchmarks 所指向的文件夹中,就足以比较来自另一台机器的结果。 再次运行同一个已导入的工作流时,结果会写入同一个会话文件夹,并覆盖其中已有的结果。若想保留某次结果用于对比,请在下次测试前重新把工作流添加到面板。

前提条件

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