Performance

Monitoring

Die RabbitMQ liefert als Message Broker System ein Monitoring mit, welches detailliert Aufschluss zur Nachrichtenverarbeitung der einzelnen Komponenten gibt. Hier sind bespielsweise die Queues und deren Nachrichtendurchsatz zu sehen: RabbitMQ Monitoring Service-Archivierung

In diesem Beispiel fällt sofort auf: Es sammeln sich einige Nachrichten in der PersistenceQueue vor den archive-writern an. Die nächste Maßnahme zur Performance-Steigerung wäre hier also eine (weitere) Skalierung der archive-writer Komponenten, soweit wie

  • die Schnittstelle zum Archiv-System hergibt
  • CPU/RAM Ressourcen für (aktive) archive-writer auf dem Server zur Verfügung stehen
  • bei erhöhter Performance an einer anderen Stelle ein Bottleneck entsteht, welches als nächstes skaliert werden kann.

Ergebnisse

Wie beschrieben hängen die Ergebnisse von der individuellen Implementierung und den Möglichkeiten der (Um-)Systeme, insbesondere den Schnittstellen zum Archiv-System, ab. Wir haben hiermit aber eine Lösung, die nicht eine feste Performance mitliefert, sondern die individuell angepasst/eingestellt werden kann. Die Performance wird so in der Regel begrenzt durch z.B.

  • maximaler Datendurchsatz je Umsystem (Archiv-System, B2B Datenbank, Archiv-Index, RabbitMQ) der Archiv-Lösung erreicht
  • CPU/RAM Grenzen für die Services zur Archivierung erreicht

Auf produktiven Kundensystemen können wir leicht eine stabile Performance über 150 Nachrichten pro Sekunde (13 Mio. Nachrichten am Tag) der Archivierungs-Services erreichen.

In der Regel wird die tatsächliche Performance der Archivierung aber von der Performance der Schnittstelle zum Archiv-System früher begrenzt.

View Me   Edit Me