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