Beim Entwurf eines Nachrichtenflusses haben Sie aufgrund der
Flexibilität und großen Bandbreite der integrierter Knoten oft mehrere
Möglichkeiten, eine Verarbeitung zu beenden und die von Ihnen gewünschten
Endergebnisse zu erzielen. Sie werden jedoch auch feststellen, dass diese
verschiedenen Lösungen unterschiedliche Leistungen hervorbringen. Wenn
dies für Sie wichtig ist, müssen Sie die Lösungen so gestalten, dass sowohl
Leistung als auch Funktionen berücksichtigt werden.
Es gibt zwei
Möglichkeiten, wie Sie die Leistung Ihrer Anwendungen verbessern können:
- Antwortzeit. Gibt an, wie schnell jede Nachricht vom Nachrichtenfluss
verarbeitet wird. Dies hängt vor allem davon ab, wie Sie Ihre Nachrichtenflüsse
gestalten. Dies wird in diesem Abschnitt näher beschrieben.
- Durchsatz. Gibt an, wie viele Nachrichten einer bestimmten Größe zu einer
bestimmten 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 der Nachrichtenflüsse optimieren.
Mehrere Aspekte beeinflussen die Antwortzeit des Nachrichtenflusses.
Wenn Sie jedoch die Konstruktion Ihres Nachrichtenflusses gestalten und ändern, um das
bestmögliche Ergebnis für Ihre spezifischen Geschäftsanforderungen zu erzielen,
müssen Sie ebenfalls berücksichtigen, dass der Nachrichtenfluss schließlich
sehr komplex werden kann. Die effizientesten Nachrichtenflüsse sind nicht immer
diejenigen, die am leichtesten nachvollziehbar und am einfachsten zu pflegen sind.
Probieren Sie die zur Verfügung stehenden Lösungen aus, um so ein ausgewogenes
und Ihrem Bedarf entsprechendes Ergebnis zu finden.
Die Antwortzeit
eines Nachrichtenflusses wird von mehreren Faktoren beeinflusst:
- Anzahl der im Nachrichtenfluss eingeschlossenen Knoten
- Jeder Knoten verursacht Verarbeitungsaufwand. Deshalb sollten Sie den Inhalt
des Nachrichtenflusses und den Einsatz von untergeordneten Nachrichtenflüssen
sorgfältig prüfen.
Verwenden Sie in einem Nachrichtenfluss so wenig Knoten
wie möglich. Jeder Knoten, den Sie in einem Nachrichtenfluss einschließen,
erhöht den Systemaufwand des Brokers. Es gibt eine Obergrenze für die
Anzahl der Knoten in einem einzelnen Datenfluss. 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.