Python 芹菜比多加工慢?

Python 芹菜比多加工慢?,python,multiprocessing,celery,Python,Multiprocessing,Celery,我有两台电脑,c1和c2。c1为双核cpu,c2为四核cpu。所以我用6个工人把这两台电脑和芹菜连接起来做一些工作。然而,当我在c1中使用6个工人的多处理时,芹菜中的每个工人的多处理速度似乎都较慢?为什么呢?那么芹菜比多加工有什么优势呢 例如: 我有以下功能: def readFromHBase(inputData): ... return data 我使用芹菜和多重处理从100000个样本中读取1000个文件 在芹菜园,我安排了6名工人跨越两台计算机c

我有两台电脑,c1和c2。c1为双核cpu,c2为四核cpu。所以我用6个工人把这两台电脑和芹菜连接起来做一些工作。然而,当我在c1中使用6个工人的多处理时,芹菜中的每个工人的多处理速度似乎都较慢?为什么呢?那么芹菜比多加工有什么优势呢

例如:

我有以下功能:

    def readFromHBase(inputData):
        ...
        return data
我使用芹菜和多重处理从100000个样本中读取1000个文件

在芹菜园,我安排了6名工人跨越两台计算机c1和c2,如上所述。每个工人将读取10个文件,直到获得全部1000个文件

在多处理中,我也做了同样的操作,但只在c1中设置了一个6个工作人员池。每个工人将读取10个文件,直到获得全部1000个文件


结果表明,与芹菜相比,多道加工中的每个工人花费的时间更少。这是怎么发生的?

芹菜有一个队列代理。多处理不需要。 芹菜工人从中央队列、网络一号(甚至在本地主机上)提取任务。多处理使用IPC

当然,IPC的开销比套接字层小


你要为你的扩展能力付出代价。

你能发布一些代码让我们了解你在做什么吗?在单个主机/服务器上,多处理的性能将优于芹菜。然而,芹菜在多主机/多服务器的情况下很受欢迎,其中许多节点正在执行芹菜队列中存储的任务。