[z/OS]

MDB-Verarbeitung unter z/OS mithilfe von IBM MQ als Messaging-Provider im ASF-Modus optimieren

Sie können die MDB-Verarbeitung (Message-driven Beans) optimieren, wenn Sie mit WebSphere Application Server auf der Plattform z/OS arbeiten, IBM MQ der Messaging-Provider ist und die MDB im ASF-Modus (Application Server Facilities) implementiert wurde.

Vorbereitende Schritte

Zum Optimieren der MDB-Verarbeitung müssen Sie zahlreiche Einstellungen zusammen berücksichtigen. Aufgrund der Vielzahl möglicherweise Workloads für jeden Server sind zahlreiche verschiedene Werte und Möglichkeiten zu berücksichtigen.

Wenn eine MDB einer Warteschlange zugeordnet ist (d. h. diese Warteschlange überwacht) oder über eine permanente Subskription einem Topic zugeordnet ist, geht eine JMS-Nachricht zuerst in den Anwendungsserver im Controller ein, d. h., dass der Server "diese Nachrichten im Controller überwacht". Der Begriff der "Überwachung im Controller" wird in der gesamten Beschreibung der Anpassung der MDB-Verarbeitung verwendet.

Informationen zu diesem Vorgang

Wenn Sie die MDB-Verarbeitung im Server optimieren, müssen Sie auch die Optimierung der gesamten Workload für den Server und die Interaktion zwischen MDB und Server berücksichtigen.

Berücksichtigen Sie beim Optimieren der MDB-Verarbeitung die folgenden Einstellungen zusammen:
  • WLM-Serviceklassendefinitionen
  • Auswahl des Auslastungsprofils von WebSphere Application Server
  • Einstellungen für den des Listener-Port des Nachrichten-Listener-Service
  • Einstellungen für das Pooling der JMS-Verbindungsfactory
  • Einstellungen für den IBM MQ-Warteschlangenmanager
Aufgrund der Vielzahl der möglichen Workloads eines Servers ist es schwierig, Empfehlungen bezüglich der Auswahl der Werte für diese Einstellungen zu geben. Untere anderem sind die folgenden Faktoren zu berücksichtigen:
  • Anzahl der MDBs
  • Optionen für die Verwaltungskonfiguration, z. B. ob zwei MDBs denselben oder unterschiedlichen Listener-Ports zugeordnet werden sollen
  • Bedeutung der Anforderungen für MDBs in Relation zu anderen (HTTP, IIOP) Anforderungstypen, die im Server bearbeitet werden.

Die im Folgenden vorgeschlagenen Einstellungen sind ein Ausgangspunkt, vorausgesetzt, dass im Server eine einzige Anwendung konfiguriert ist, die eine einzige MDB enthält, die in diesem Server installiert und ausgeführt wird.

Es folgen ausführlichere Beschreibungen, die die Gründe für die vorgeschlagenen Einstellungen und die Funktion von Listener-Ports "im Controller" unter z/OS ausführlicher erläutern. Die Beschreibungen unterstützen Sie bei der Auswahl eigener Einstellungen für Ihre Systeme und Server.

Vorgehensweise

  1. Geben Sie mit der Eigenschaft Maximale Anzahl Sitzungen für den Listener-Port einen Wert an, der mindestens doppelt so hoch ist wie die maximale Anzahl der Servant-Worker-Threads, die dem gesamten Server zur Verfügung stehen. Der Wert dieser Eigenschaft bestimmt den oberen Grenzwert (maximale Anzahl von Sitzungen), auf dessen Basis der Regulierungsmechanismus entscheidet, wann Anforderungen blockiert oder zugelassen werden.
    1. Starten Sie die Administrationskonsole.
    2. Klicken Sie im Navigationsfenster auf Server > Servertypen > WebSphere-Anwendungsserver->Servername > [Kommunikation] Messaging > Nachrichten-Listener-Service > [Weitere Eigenschaften] Listener-Ports > Listener-Port. Die Anzeige Nachrichten-Listener-Ports erscheint.
    3. Wählen Sie den Namen des Listener-Ports aus, mit dem Sie arbeiten möchten. Die Anzeige Einstellungen für Listener-Port erscheint.
    4. Geben Sie mit der Eigenschaft für die maximale Anzahl von Sitzungen den Wert an, den der MDB-Regulierungsmechanismus als oberen Grenzwert verwenden soll. Der empfohlene Mindestwert wird wie folgt berechnet:
      2 * (maximale Anzahl von Servants) * (Anzahl der Worker-Threads in einem Servant)

      "Servants" bedeutet dasselbe wie "Server-Instanzen" in der Administrationskonsole. Informationen zur Berechnung der Anzahl von Worker-Threads in einem Server finden Sie in der Beschreibung von "Workload-Profilen" im Artikel Erweiterte Einstellungen für ORB-Services.

    Weitere Einzelheiten zum Definieren der Listener-Port-Eigenschaft Maximale Anzahl an Sitzungen finden Sie in den Informationen zu Message-driven Beans und zum Optimieren der Einstellungen unter z/OS.

  2. Definieren Sie die Eigenschaften der IBM MQ-Warteschlangenverbindungsfactory.
    1. Klicken Sie zum Anzeigen dieser Seite der Administrationskonsole auf Ressourcen > JMS -> Warteschlangenverbindungsfactorys.
    2. Wählen Sie die für den Listener-Port angegebene Warteschlangenverbindungsfactory aus.
    3. Wählen Sie unter "Weitere Eigenschaften" die Anzeige "Verbindungspool" aus.
    4. Definieren Sie die Eigenschaft Maximale Anzahl der Verbindungen für den Verbindungspool. Lassen Sie eine Verbindung für jede MDB zu. Der Wert dieser Eigenschaft kann die MDBs enthalten, die unterschiedlichen Listener-Ports zugeordnet sind, falls diese Listener-Ports jeweils derselben Verbindungsfactory zugeordnet sind. Weitere Einzelheiten zu dieser Einstellung finden Sie in den Informationen zu Message-driven Beans und zum Optimieren der Einstellungen unter z/OS.
    5. Wählen Sie im Abschnitt "Weitere Eigenschaften" für die Warteschlangenverbindungsfactory die Anzeige "Sitzungspool" aus.
    6. Definieren Sie die Eigenschaft Maximale Anzahl der Verbindungen für den Sitzungspool. Lassen Sie eine Sitzung für jeden Worker-Thread in einem Servant zu. Geben Sie für diese Eigenschaft einen Wert an, der größer-gleich der Anzahl von Worker-Threads ist, die einem Servant zur Verfügung stehen. Weitere Einzelheiten zu dieser Einstellung finden Sie in den Informationen zu Message-driven Beans und zum Optimieren der Einstellungen unter z/OS.
  3. Definieren Sie die IBM MQ-relevanten Eigenschaften. Stellen Sie sicher, dass für den IBM MQ-Warteschlangenmanager, der zur Unterstützung verwendet wird, genügend Ressourcen konfiguriert sind, um die beabsichtigte JMS-Workload, die von WebSphere Application Server (und anderen Clients) gesendet wird, bewältigen zu können. Beachten Sie insbesondere die Einstellungen der Parameter CTHREAD, IDBACK und IDFORE des Warteschlangenmanagers. Weitere Informationen zu diesen IBM MQ-Einstellungen finden Sie im Information Center von IBM MQ.

Beispiel

  1. Wenn die Eigenschaft Maximale Anzahl der Serverinstanzen für Ihren Server auf den Wert 3 (die Mindestanzahl ist hier nicht von Bedeutung) und Ihre Auslastungsprofil auf LONGWAIT (d. h., jeder Servant enthält 40 Worker-Threads) gesetzt ist, setzen Sie die Eigenschaft Maximale Anzahl an Sitzungen für Ihren Listener-Port auf mindestens
    240 = 2 * 3 * 40
    .
  2. Angenommen, Ihre Anwendung enthält zwei MDBs, die jeweils eine Implementierung der Methode onMessage() haben, die die Nachricht an ein anderes JMS-Ziel weiterleitet. In diesem Fall benötigt jede MDB eine eigene JMS-Verbindungsfactory für diese Task. Angenommen, der Administrator hat jede Ressourcenreferenz der MDB-JMS-Verbindungsfactory derselben administrativ definierten Verbindungsfactory zugeordnet, die von dem Listener-Port verwendet wird, dem jede dieser MDBs zugeordnet ist.

    In diesem Fall müssen Sie die Eigenschaft für die maximale Anzahl der Verbindungen für den Verbindungspool der Verbindungsfactory auf 42 setzen (jeweils eine Verbindung für jede der beiden MDBs, die der Listener-Port verwenden soll, und potenziell eine Verbindung für jede der 40 onMessage()-Zuteilungen, die gleichzeitig ausgeführt werden können). (Denken Sie daran, dass der Verbindungspool Servant-bezogen ist.)

  3. Setzen Sie die maximale Anzahl der Verbindungen für den Sitzungspool der Verbindungsfactory auf 40 (die Anzahl der Worker-Threads in einem Servant, unabhängig von der Anzahl der Servants).

Debugging-Tipps finden Sie im Artikel [z/OS]Unterstütung der MDB-Regulierung für Debugging in z/OS optimieren.


Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tprf_tunezmdb
Dateiname:tprf_tunezmdb.html