Многопроцессорная обработка против Gevent - PullRequest
4 голосов
/ 03 апреля 2012

В настоящее время я использую zeromq с шаблоном pub-sub, у меня есть один рабочий для публикации, и многие (8) подписчики (все будут подписаны) на один и тот же шаблон.

Теперь я попытался использовать многопроцессорную обработку для появления подписчиков.,Я пропускаю несколько сообщений.

Почему я использую многопроцессорность, чтобы обрабатывать каждое сообщение по мере его поступления и обрабатывать их, каждый второй издатель публикует от 10 до 100 сообщений.

В этом случае рекомендуется использовать multiprocessing или gevent?

Ответы [ 2 ]

4 голосов
/ 04 апреля 2012

Многопроцессорность, очевидно, будет иметь гораздо более высокую нагрузку на память, но будет использовать другое ядро ​​(и вам не нужно беспокоиться об отсутствии вытеснения), так что ... это зависит от ваших потребностей.Вполне вероятно, что несколько процессов, использующих gevent, обеспечат вам максимальную пропускную способность / минимальную задержку.

3 голосов
/ 18 апреля 2012

Я отвечаю на свой вопрос

Я выбираю многопроцессорность вместо Gevent

  1. Сервер имел 8 ядер
  2. Параллелизм был необходим
  3. Выберите ZMQ для многопроцессорной очереди или очереди Gevent.
...