Durchsatz der Nachrichtenflüsse optimieren

Jeder von Ihnen entworfene Nachrichtenfluss muss einen vollständige Verarbeitungsgruppe für Nachrichten, die von bestimmten Quellen empfangen werden, bereitstellen. Dies kann jedoch zu sehr komplexen Nachrichtenflüssen mit vielen eingeschlossenen Knoten und zu Engpässen in der Systemleistung und des Systemaufwands führen. Verwenden Sie mehrere Nachrichtenflüsse zur Verarbeitung der Nachrichten ermöglicht dies Parallelverarbeitung und verbessert den Durchsatz.

Sie können auch berücksichtigen, wie die vom Nachrichtenfluss aufgenommenen Aktionen festgeschrieben werden und in welcher Reihenfolge die Nachrichten verarbeitet werden sollen.

Berücksichtigen Sie folgende Optionen, um den Durchsatz des Nachrichtenflusses zu optimieren:

Mehrere Threads zur Verarbeitung von Nachrichten in einem einzelnen Nachrichtenfluss
Wenn Sie einen Nachrichtenfluss implementieren, startet der Broker automatisch für jeden in ihm enthaltenen Empfangsknoten eine Instanz des Nachrichtenflusses. Das ist das Standardverhalten. Wenn ein Nachrichtenfluss jedoch sehr viele Nachrichten bearbeitet, kann die Eingabequelle (z. B. die WebSphere MQ-Warteschlange) zu einem Engpass werden.

Sie können die Eigenschaft Zusätzliche Instanzen des implementierten Nachrichtenflusses in der Bar-Datei aktualisieren: Der Broker startet auf getrennten Threads zusätzliche Kopien des Nachrichtenflusse und ermöglicht so Parallelverarbeitung. Wenn die Reihenfolge, in der die Nachrichten verarbeitet werden, für Sie keine Rolle speilt, ist das die effizienteste Art, diese Situation zu behandeln.

Wenn der Nachrichtenfluss Nachrichten von einer WebSphere MQ-Warteschlange empfängt, können Sie bis zu einem gewissen Grad die Reihenfolge beeinflussen, in der die Nachrichten verarbeitet werden, wenn Sie die Eigenschaft Order Mode (Reihenfolge-Modus) des MQEmfpangsknotens festsetzen:

  • Wenn Sie die Option Reihenfolge-Modus auf Nach Benutzer-ID setzen, stellt der Knoten sicher, dass die Nachrichten eines bestimmten Benutzers (der im Benutzer-ID-Feld im MQMD angegeben ist) in einer vorgegebenen Reihenfolge verarbeitet werden. Die zweite Nachricht eines Benutzers wird nicht von der Instanz des Nachrichtenflusses verarbeitet, wenn eine vorherige Nachricht dieses Benutzers gerade noch von einer anderen Instanz im Nachrichtenfluss verarbeitet wird.
  • Wenn Sie die Option Order Mode (Reihenfolge-Modus) auf Nach Warteschlangenreihenfolge setzen, verarbeitet der Knoten eine Nachricht nach der anderen, um die Reihenfolge, in der die Nachrichten von der Warteschlange gelesen werden, beizubehalten. Deshalb verhält sich dieser Knoten so, als ob Sie die Eigenschaft Zusätzliche Instanzen des Nachrichtenflusses auf Null gesetzt hätten.

In Publish/Subscribe-Anwendungen, die über ein unterstütztes Protokoll mit dem Broker kommunizieren werden die Nachrichten zu einem vorgegebenen Thema vom Broker in der Reihenfolge veröffentlicht, in der wie sie vom Bereitsteller erhalten werden (gegebenenfalls muss die Reihenfolge anhand der Nachrichtenpriorität geändert werden). Dies bedeutet, dass normalerweise jeder Subskribent Nachrichten zu einem bestimmten Thema von einem bestimmten Broker und von einem bestimmten Bereitsteller empfängt, und zwar in der Reihenfolge, in der sie von diesem Bereitsteller veröffentlicht wurden.

Gelegentlich werden Nachricht jedoch nicht in der Reihenfolge zugestellt. Dies kann z. B. passieren, wenn eine Verbindung im Netzwerk fehlschlägt und die nachfolgenden Nachrichten an eine andere Verbindung weiter geleitet werden.

Wenn Sie die Reihenfolge, in der die Nachrichten empfangen werden, sicherstellen möchten, können Sie entweder den Parameter SeqNum (Folgenummer) oder den Parameter PubTime (Zeitstempel der Veröffentlichung) auf dem Befehl Veröffentlichen für jede veröffentlichte Nachricht verwenden, um die Reihenfolge der Veröffentlichung zu berechnen.

Weitere Informationen zu den für alle MQI- und AMI-Benutzer empfohlenen Verfahren finden Sie für in MQI geschriebene Programme im WebSphere MQApplication Programming Guide und in der WebSphere MQApplication Messaging Interface (als SupportPac MA0F in Webseite mit WebSphere MQ SupportPacs verfügbar) für in AMI geschriebene Programme.

WebSphere MQ Everyplace und SCADA-Anwendungen verwenden eine andere Methode zur Sortierung von Nachrichten als unter WebSphere MQ Mobile Transport bzw. WebSphere MQ Telemetry Transport beschrieben. Der Broker ermöglicht nicht die Sortierung von Nachrichten, die über WebSphere MQ Real-time Transport oder WebSphere MQ Multicast Transport empfangen wurden.

Mehrere Kopien des Nachrichtenflusses in einem Broker
Sie können auch mehrere Kopien desselben Nachrichtenflusses in verschiedenen Ausführungsgruppen im gleichen Broker einsetzen. Der Effekt ist ähnlich, als ob Sie die Anzahl der verarbeitenden Threads in einem einzelnen Nachrichtenfluss erhöhen, obwohl der Erfolg meist weniger sichtbar ist.

Mit dieser Option können Sie nicht mehr die Reihenfolge bestimmen, in der die Nachrichten verarbeitet werden. Das liegt daran, dass bei mehreren aktiven Kopien eines Nachrichtenflusses in einem Broker, jede Kopie eine Nachricht von der gleichen Warteschlange zur selben Zeit verarbeiten kann. Die zur Verarbeitung einer Nachricht notwendige Zeit kann unterschiedlich sein, deshalb können mehrere Nachrichtenflüsse, die auf die selbe Warteschlange zugreifen, die Nachrichten in beliebiger Reihenfolge aus der Eingabequelle lesen. Die Reihenfolge der von den Nachrichtenfüssen produzierten Nachrichten muss nicht der Reihenfolge der ursprünglichen Nachrichten entsprechen.

Vergewissern Sie sich, dass die Anwendungen, die Nachrichten von diesen Nachrichtenflüssen empfangen, nicht sortierte Nachrichten akzeptieren.

Kopien des Nachrichtenflusses in mehreren Brokern
Sie können mehrere Kopien desselben Nachrichtenflusses in verschiedenen Brokern einsetzen. Für diese Lösung ist eine Änderung der Konfiguration erforderlich, weil Sie sicherstellen sollten, dass Anwendungen, die Nachrichten an Nachrichtenflüsse liefern, ihre Nachrichten in die richtige Eingabewarteschlange bzw. den richtigen Port stellen können. Wenn Sie die konfigurierbaren Eigenschaften des Nachrichtenflusses festlegen und damit den Nachrichtenfluss einsetzen, können Sie diese Änderungen vornehmen.
Zugehörige Konzepte
Nachrichtenflüsse - Übersicht
Übersicht zu Implementierungsvorgängen
Zugehörige Tasks
Antwortzeiten der Nachrichtenflüsse optimieren
Einen Nachrichtenfluss erstellen
Nachrichtenflussinhalt definieren
Konfigurierbare Eigenschaften bearbeiten
Zugehörige Verweise
Integrierte Knoten
Konfigurierbare Nachrichtenflusseigenschaften
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 18.05.2006
ac00350_