Performance-Vergleich zwischen ZeroMQ, RabbitMQ und Apache Qpid

Brauche ich ein high-performance-message-bus für meine Anwendung also ich bin die Evaluation der performance von ZeroMQRabbitMQ und Apache Qpid. Zur Messung der performance, bei mir läuft ein Testprogramm veröffentlicht, die sagen, 10.000 Nachrichten mit Hilfe einer der Nachrichten-queue-Implementierungen und mit einem anderen Prozess auf der gleichen Maschine zu konsumieren, diese 10.000 Nachrichten. Dann nehme ich mal den Unterschied zwischen der ersten Meldung veröffentlicht und die zuletzt empfangene Nachricht.

Folgenden sind die Einstellungen, die ich für den Vergleich herangezogen.

  1. RabbitMQ: Ich habe mit einem "fanout" geben Sie exchange, und eine Warteschlange mit Standard-Konfiguration. Ich verwendet, die RabbitMQ-C-client-Bibliothek.
  2. ZeroMQ: Mein Verleger publises zu tcp://localhost:port1 mit ZMQ_PUSH socket, Mein broker hört auf tcp://localhost:port1 und sendet die Nachricht an tcp://localhost:port2 und meine Verbraucher hört auf tcp://localhost:port2 mit ZMQ_PULL - Buchse. Ich bin mit einem Makler anstelle von peer-to-peer-Kommunikation in ZeroMQ zu machen den performance-Vergleich fair zu anderen message-queue-Implementierung, die verwendet Broker.
  3. Qpid C++, message broker: ich habe mit einem "fanout" geben Sie exchange, und eine Warteschlange mit Standard-Konfiguration. Ich benutzte die Qpid C++ client-Bibliothek.

Folgenden ist das Ergebnis:

  1. RabbitMQ: es dauert etwa 1 Sekunde erhalten 10.000 Nachrichten.
  2. ZeroMQ: Es dauert etwa 15 milli Sekunden erhalten 10.000 Nachrichten.
  3. Qpid: Es dauert etwa 4 Sekunden zu erhalten 10.000 Nachrichten.

Fragen:

  1. Jemand ähnliche performance-Vergleich zwischen den message-queues? Dann mag ich Vergleiche meine Ergebnisse mit Ihnen.
  2. Gibt es eine Möglichkeit, ich könnte tune RabbitMQ oder Qpid um die Leistung der it besser?

Hinweis:

Wurden die tests auf einer virtuellen Maschine mit zwei zugeordneten Prozessor. Das Ergebnis variieren für verschiedene hardware, aber ich bin vor allem daran interessiert, die relative Leistung des MQ-Produkte.

InformationsquelleAutor der Frage ahsankhan | 2011-10-27

Schreibe einen Kommentar