多处理与gevent

时间:2012-04-03 13:43:56

标签: python multiprocessing zeromq gevent pyzmq

目前我正在使用带有pub-sub模式的zeromq,我有单个worker发布,很多(8)订阅者(都会订阅)到相同的模式。

现在我尝试了多处理来生成它工作的订阅者。我遗漏了一些消息。

为什么我使用多处理是在每条消息到达并处理它们时处理它们,每隔一个发布者发布10到100条消息。

在这种情况下,建议使用multiprocessinggevent

2 个答案:

答案 0 :(得分:4)

多处理显然会有更高的内存开销,但会使用另一个核心(而且你不必担心没有先发制人)所以......这取决于你的需求。 使用gevent的多个进程可能会为您带来最高的吞吐量/最低的延迟。

答案 1 :(得分:3)

我正在回答我自己的问题

我选择基于gevent的多处理

  1. 服务器有8个核心
  2. 需要并行性
  3. 选择ZMQ over multiprocessing queue或gevent queue。