Anwendungsserver optimieren

Viele Komponenten des Produkts stehen in Wechselbeziehung zueinander. Diese Komponenten müssen somit bei der Optimierung harmonisiert werden, um Ihre End-to-End-E-Business-Anwendung unterstützen zu können.

Informationen zu diesem Vorgang

[AIX Solaris HP-UX Linux Windows][IBM i]Die Gruppe miteinander verbundener Komponenten wird als Warteschlangennetz bezeichnet. Mit dem Warteschlangennetz kann das System den maximalen Systemdurchsatz unter Wahrung des Gesamtstabilität des Systems erzielen.

Die folgenden Schritte beschreiben verschiedene Optimierungstasks, mit denen Sie den Durchsatz Ihrer Anwendungsserver erhöhen können. Die beschriebenen Einstellungen für Anwendungsserver können nach Bedarf implementiert werden. Diese Schritte können in beliebiger Reihenfolge ausgeführt werden:

Vorgehensweise

  1. Führen Sie zunächst das Script "applyPerfTuningTemplate.py" aus, um die Leistung eines bestimmten Anwendungsservers zu verbessern.

    Dieses auf Python basierende Optimierungsscript wendet, in Kombination mit einer Schablonendatei, die jeweils empfohlenen Leistungsoptimierungseinstellungen an. Das Script und die Schablonendateien befinden Sie im Verzeichnis WAS-Ausgangsverzeichnis/bin.

  2. Object Request Broker (ORB) optimieren. Ein Object Request Broker (ORB) verwaltet die Interaktion zwischen Clients und Servern mit dem Protokoll IIOP (Internet InterORB Protocol). Er unterstützt Clientanforderungen und Antworten, die von Servern in einer verteilten Netzumgebung empfangen werden. Sie können für die Optimierung des ORB die folgenden Parameter verwenden:
    • Definieren Sie Durch Referenz übergeben (com.ibm.CORBA.iiop.noLocalCopies) wie im Artikel zu den ORB-Serviceeinstellungen beschrieben an.
    • [AIX Solaris HP-UX Linux Windows][IBM i]Legen Sie die Mindestgröße des Verbindungscache (com.ibm.CORBA.MaxOpenConnections) fest. Eine diesbezügliche Beschreibung finden Sie im Artikel zu den ORB-Serviceeinstellungen.
    • [AIX Solaris HP-UX Linux Windows][IBM i]Legen Sie den Wert für Maximale Größe fest, wie im Artikel zu den Thread-Pool-Einstellungen beschrieben.
    • [AIX Solaris HP-UX Linux Windows][IBM i]Legen Sie com.ibm.CORBA.ServerSocketQueueDepth wie in den Informationen zu den angepassten ORB-Eigenschaften fest.
    • Legen Sie com.ibm.CORBA.FragmentSize wie in den Informationen zu den angepassten ORB-Eigenschaften fest.

    [AIX Solaris HP-UX Linux Windows][IBM i]Der Artikel mit den Optimierungsrichtlinien für den Object Request Broker enthält Tipps zur Optimierung des ORB mit diesen Parametern.

  3. XML-Parser-Definitionen optimieren.
    • Beschreibung: Vereinfacht den Serverstart durch Hinzufügen von XML-Parserdefinition in den Dateien jaxp.properties und xerces.properties im Verzeichnis "${Stammverzeichnis_des_Anwendungsservers}/jre/lib". Der Wert von XMLParserConfiguration kann sich ändern, wenn neue Versionen von Xerces zur Verfügung gestellt werden.
    • Anzeige- oder Einstellmöglichkeiten: Fügen Sie in beide Dateien die folgenden Zeilen ein:
      javax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl 
      javax.xml.parsers.DocumentBuildFactory=org.apache.xerces.jaxp.
                 DocumentBuilderFactoryImpl
      org.apache.xerces.xni.parser.XMLParserConfiguration=org.apache.xerces.parsers.
                 XIncludeAwareParserConfiguration
      Sie können auch die Dateien jre/lib/jaxp.properties und jre/lib/xerces.properties heranziehen, die mit der JDK-Installation bereitgestellt werden. Diese Beispieldateien enthalten immer die empfohlenen Einstellungen.
    • Standardeinstellung: Keine
    • Empfohlene Einstellung: Keine
  4. Dynamischen Cache-Service optimieren.

    Mit dem dynamischen Cache-Service kann die Leistung verbessert werden. Der Artikel zur Verwendung des dynamischen Cache-Service zwecks Leistungsverbesserung informiert darüber, wie Sie den dynamischen Cache-Service einsetzen können und welche Auswirkungen diese Service auf die Leistung von Anwendungsservern haben kann.

  5. [AIX Solaris HP-UX Linux Windows][IBM i]Web-Container optimieren. Der Web-Container des Produkts verwaltet alle HTTP-Anforderungen an Servlets, JSPs und Web-Services. Die Anforderungen durchlaufen eine Transportkette zum Web-Container. Die Transportkette definiert für den Web-Container die wichtigen Optimierungsparameter für die Leistung. Für jeden TCP-Port, an dem das Produkt auf den Empfang von HTTP-Anforderungen wartet, gibt es eine Transportkette. Der HTTP-Standardport 9080 ist beispielsweise in der Kanalkette für eingehende Anforderungen des Web-Containers definiert. Optimieren Sie den Web-Container mit folgenden Parametern:
    • HTTP-Anforderungen werden von einem Pool mit Server-Threads verarbeitet. Für einen optimalen Durchsatz kann die Mindestgröße und die maximale Größe des Thread-Pools für den Web-Container konfiguriert werden. In der Regel wird der beste Durchsatz mit 5 bis 10 Threads pro Server-CPU erzielt. Die konfigurierte Anzahl von Threads ist nicht mit der Anzahl der Anforderungen identisch, die das Produkt gleichzeitig verarbeiten kann. Wenn alle Threads belegt sind, werden Anforderungen in die Warteschlange der Transportkette gestellt. Geben Sie die Thread-Pool-Einstellungen wie folgt an:
      1. Klicken Sie auf Server > Servertypen > WebSphere-Anwendungsserver >Servername Web-Container-Einstellungen > Web-Container > Transportketten für Web-Container.
      2. Wählen Sie die normale Kette für eingehende Anforderungen aus. Diese Kette hat normalerweise den Namen "WCInboundDefault" und ist an Port 9080 empfangsbereit.
      3. Klicken Sie auf TCP-Kanal für eingehende Anforderungen (TCP_2).
      4. Wählen Sie unter "Zugehörige Elemente" Thread-Pools aus.
      5. Wählen Sie WebContainer aus.
      6. Geben Sie für Mindestgröße und Maximale Größe einen Wert ein.
    • Das Protokoll HTTP 1.1 stellt ein Keep-Alive-Feature bereit, um die TCP-Verbindung zwischen HTTP-Clients und dem Server zwischen den Anforderungen offen zu halten. Das Produkt schließt eine Clientverbindung standardmäßig nach einer bestimmten Anzahl von Anforderungen oder nach Ablauf eines Zeitlimits. Nachdem eine Verbindung geschlossen wurde, wird Sie erneut erstellt, wenn der Client eine weitere Anforderung absetzt. Ein zu frühes Schließen von Verbindungen kann den Durchsatz herabsetzen. Geben Sie mit der maximalen Anzahl persistenter Anforderungen (Keep-Alive-Anforderungen) die für eine HTTP-Verbindung zulässige Anzahl von Anforderungen an. Geben Sie mit dem Wert für persistente Zeitlimits die Leerlaufzeit in Sekunden an, die der HTTP-Transportkanal einem Socket zwischen Anforderungen zugesteht. Geben Sie die Werte für die maximale Anzahl persistenter Verbindungen und für persistente Zeitlimits wie folgt an:
      1. Klicken Sie auf Server > Servertypen > WebSphere-Anwendungsserver >Servername. Klicken Sie anschließend im Abschnitt "Containereinstellungen" auf Web-Container > Transportketten für Web-Container.
      2. Wählen Sie die normale Kette für eingehende Anforderungen aus. Diese Kette hat normalerweise den Namen "WCInboundDefault" und ist an Port 9080 empfangsbereit.
      3. Klicken Sie auf HTTP-Kanal für eingehende Anforderungen (HTTP_2).
      4. Geben Sie für Maximale Anzahl persistenter Anforderungen und Persistenzzeitlimit einen Wert ein.
  6. EJB-Container optimieren. Ein EJB-Container (Enterprise JavaBeans) wird bei der Erstellung eines Anwendungsservers automatisch erstellt. Nach der Implementierung des EJB-Containers können Sie mit den folgenden Parametern Anpassungen in Bezug auf den Durchsatz vornehmen.
    • Legen Sie das Bereinigungsintervall und die Cachegröße fest. Eine diesbezügliche Beschreibung finden Sie im Artikel zu den Einstellungen des EJB-Cache.
    • Unterteilen Sie CMP-Enterprise-Beans in mehrere Enterprise-Bean-Module. Weitere Informationen finden Sie im Artikel zur Assemblierung von EJB-Modulen.

    Weitere Informationen hierzu finden Sie im Artikel zum Aufruf der EJB-Methode.

  7. Sitzungsverwaltung optimieren.

    Die installierten Standardeinstellungen für die Sitzungsverwaltung sind optimal auf den Durchsatz abgestimmt.

  8. Datenquellen und zugehörige Verbindungspools optimieren. Eine Datenquelle wird verwendet, um auf Daten aus der Datenbank zuzugreifen. Sie ist einem Pool von Verbindungen zu dieser Datenbank zugeordnet.
    • Der Artikel zum Verbindungspooling beschreibt, wie sich die Anzahl physischer Verbindungen in einem Verbindungspool auf die Leistung auswirken kann.
    • [AIX Solaris HP-UX Linux Windows][z/OS]Verwenden Sie den Artikel zu den Optimierungsparametern für den Datenzugriff als Referenz für die Eigenschaften von Datenquellen und Verbindungspools, die sich am meisten auf die Leistung auswirken.
  9. URL-Aufrufcache optimieren.

    Jede JavaServer Page ist ein eindeutiger URL. Wenn Sie mehr als 50 eindeutige URLs haben, die aktiv verwendet werden, erhöhen Sie den für die angepasste JVM-Eigenschaft "invocationCacheSize" angegebenen Wert. Diese Eigenschaft steuert die Größe des URL-Aufrufcaches.

  10. [z/OS]Intervall ändern, in dem der Wiederherstellungsprotokollservice versucht, die von Anwendungskomponenten verwendeten Protokolldatenströme zu komprimieren.

    Die angepasste Eigenschaft RLS_LOGSTREAM_COMPRESS_INTERVAL des Transaktionsservice kann auf einen höheren Wert als den Standardwert gesetzt werden, wenn der Transaktionsservice die einzige Anwendungskomponente ist, die einen Protokolldatenstrom verwendet. Wenn keine Ihrer Komponenten einen Protokolldatenstrom verwendet, können Sie diese Eigenschaft auf 0 (null) setzen, um die Funktion zu inaktivieren.


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_tuneappserv
Dateiname:tprf_tuneappserv.html