Beim Entwerfen eines Nachrichtenflusses hat die Flexibilität und Vielfalt der
integrierten Knoten häufig zur Folge, dass es mehrere Wege zum Erreichen des Verarbeitungsziels und
damit der gewünschten Endergebnisse gibt. Möglicherweise werden Sie auch feststellen, dass diese
unterschiedlichen Lösungen unterschiedliche Leistungswerte liefern. Wenn dies ein wichtiger Aspekt
für Sie ist, müssen Sie bei dem Entwurf ebenso auf die Leistung wie auf die Funktion achten.
Die erbrachte Leistung für die Anwendungen kann anhand von zwei Werten ermittelt werden:
- Reaktionszeit. Die Reaktionszeit gibt an, wie schnell die einzelnen Nachrichten vom
Nachrichtenfluss verarbeitet werden. Sie wird im Wesentlichen durch den Entwurf der
Nachrichtenflüsse beeinflusst. Dies wird in diesem Abschnitt weiter erläutert.
- Durchsatz. Der Durchsatz gibt an, wie viele Nachrichten mit bestimmten Größen in einer
angegebenen Zeit von einem Nachrichtenfluss verarbeitet werden können. Dies
hängt hauptsächlich von Konfigurations- und Systemressourcenfaktoren ab.
Einzelheiten hierzu sowie weitere Informationen zur Domänenkonfiguration finden
Sie unter Durchsatz des Nachrichtenflusses optimieren.
Es gibt mehrere Aspekte, die die Reaktionszeiten von Nachrichtenflüssen beeinflussen.
Um beim Erstellen und Ändern des Nachrichtenflusses die besten Ergebnisse hinsichtlich der
Geschäftsanforderungen zu erreichen, muss jedoch auch die mögliche Komplexität des
Nachrichtenflusses berücksichtigt werden. Die effizientesten Nachrichtenflüsse sind nicht
notwendigerweise diejenigen, die am einfachsten zu verstehen und zu verwalten sind; experimentieren
Sie mit den verfügbaren Lösungen, um diejenige zu finden, die allen Anforderungen am besten gerecht
wird.
Reaktionszeiten von Nachrichtenflüssen werden durch mehrere Faktoren beeinflusst:
- Anzahl der Knoten, die Sie in den Nachrichtenfluss einfügen
- Jeder Knoten verursacht einen gewissen Verarbeitungsaufwand. Denken Sie deshalb sorgfältig über
den Inhalt des Nachrichtenflusses nach, einschließlich der Verwendung von untergeordneten
Nachrichtenflüssen.
Verwenden Sie in einem Nachrichtenfluss so wenige Knoten wie möglich, denn
jeder Knoten, den Sie in den Nachrichtenfluss einfügen, erhöht den Arbeitsaufwand im Broker. Es
gibt eine Obergrenze für die Anzahl der Knoten in einem Nachrichtenfluss. Diese Obergrenze wird
durch Systemressourcen, insbesondere die Stack-Größe, bestimmt.
Weitere Informationen zu
Stack-Größen finden Sie unter Systemaspekte bei der Nachrichtenflussentwicklung.
- Verwendung von persistenten und transaktionsorientierten Nachrichten
- Persistente Nachrichten werden während der Nachrichtenflussverarbeitung auf Platte gespeichert.
Dies kann verhindert werden, wenn Sie solche Nachrichten beim Empfangen oder Senden (oder bei
beiden Vorgängen) als nicht persistent spezifizieren. Wenn Ihr Nachrichtenfluss nur nicht
persistente Nachrichten bearbeitet, überprüfen Sie die Konfiguration der Knoten und den
Nachrichtenfluss selbst. Falls es sich bei Ihren Nachrichten um nicht persistente Nachrichten
handelt, ist möglicherweise keine Transaktionsunterstützung notwendig. Die Standardkonfiguration
einiger Knoten erzwingt Transaktionsfähigkeit. Indem Sie diese Eigenschaften ändern und den
Nachrichtenfluss erneut implementieren, können Sie die Reaktionszeiten verbessern.
- Nachrichtenlänge
- Je länger eine Nachricht, desto länger dauert die Verarbeitung. Wenn Sie lange Nachrichten in
kleinere Informationsblöcke aufteilen, können Sie die Geschwindigkeit erhöhen, mit der sie vom
Nachrichtenfluss bearbeitet werden. Das Beispielprogramm 'Large Messaging' zeigt, wie Sie die Anforderungen an den virtuellen Speicher für den Nachrichtenfluss minimieren können, um die Leistung eines Nachrichtenflusses bei der Verarbeitung potenziell großer Nachrichten zu verbessern.
Weitere Informationen zur Verbesserung der Leistung eines
Nachrichtenflusses finden Sie in diesem developerWorks-Artikel zur Nachrichtenflussleistung.