一直想给 ComfyUI 那个排队墙找条出路——一次只跑一个 job,攒三十个请求第三十个就得干等前面全跑完,显存空着也没用。我干脆在一张卡上开了多个独立进程,各绑一个端口、各自独立队列。
踩的第一个坑是 SQLite:两个实例指同一个库文件直接写锁冲突起不来,得给每个实例单独的 db 路径,这点几乎没人写。真正反直觉的是显存根本不是瓶颈,五个实例峰值才十来 G,卡还剩六个 G,可单个 job 从 7 秒掉到 11 秒。
压力全在共享的 CUDA 引擎和 PCIe 总线上,进程越多抢得越凶。来回测下来两个实例才是甜点,再多并行的收益都赶不上每个 job 被拖慢。
另外每个实例冷启动第一单会慢两三倍,是模型加载,开机先喂个热身 job 能把这惩罚提前消化掉。