Anwendungsserver mithilfe vordefinierter Optimierungsschablonen optimieren

Sie können das Python-basierte Optimierungsscript "applyPerfTuningTemplate.py" zusammen mit einer der zugehörigen Schablonendateien verwenden, um vordefinierte Leistungsoptimierungsschablonen auf Ihren Anwendungsserver oder Cluster anzuwenden. Die eigenschaftsbasierten Schablonendateien befinden sich im Verzeichnis WAS_HOME\scriptLibraries\perfTuning\V70. Der Pfad für die Scriptdateien lautet wsadmin -f <WAS_HOME>\bin\applyPerfTuningTemplate.py.

Vorbereitende Schritte

Bewährtes Verfahren Bewährtes Verfahren: Die von diesem Script und den zugehörigen Optimierungsschablonen angewendeten Konfigurationseinstellungen sollten als potenzielle Leistungsoptimierungsoptionen betrachtet werden, die Sie testen und als Ausgangspunkt für weitere Optimierungsmaßnahmen verwenden können. Die Konfigurationseinstellungen, die von jeder der vordefinierten Schablonen angewendet werden, sind für die Optimierung gängiger Anwendungsserverumgebungen und -szenarien bestimmt. Gewöhnlich kann mithilfe dieser Einstellungen eine Leistungsverbesserung für viele Anwendungen erzielt werden.

Da die Leistungsoptimierung ein Abwägen gegen die Features, die Funktionen und das funktionale Verhalten erfordert, können sich einige dieser Einstellungen auf die Ordnungsmäßigkeit der Anwendung auswirken, während andere Einstellungen für Ihre Umgebung völlig unangemessen sind. Lesen Sie die folgende Dokumentation, und prüfen Sie, wie sich diese Einstellungen auf den Bestand und die Infrastruktur Ihrer Anwendungen auswirken.

Wie bei jeder Leistungsoptimierung müssen die in den vordefinierten Schablonen konfigurierten Einstellungen in einer kontrollierten produktionsvorbereitenden Testumgebung ausgewertet werden. Anschließend können Sie eine angepasste Schablone erstellen, um die Optimierungseinstellungen so zu optimieren, dass sie den speziellen Anforderungen Ihrer Anwendungen und Ihrer Produktionsumgebung entsprechen.

bprac
Anmerkung: Dieser Artikel referenziert eine oder mehrere Protokolldateien des Anwendungsservers. Alternativ dazu wird empfohlen, den Server so zu konfigurieren, dass er die HPEL-Protokoll- und -Traceinfrastruktur (High Performance Extensible Logging) verwendet und nicht die Dateien SystemOut.log , SystemErr.log, trace.log und activity.log auf verteilten oder IBM® i-Systemen. Sie können HPEL auch in Verbindung mit Ihren nativen z/OS-Protokolleinrichtungen verwenden. Wenn Sie HPEL verwenden, können Sie mit dem Befehlszeilentool LogViewer im Verzeichnis "bin" des Serverprofils auf alle Ihre Protokoll- und Tracedaten zugreifen. Weitere Informationen zur Verwendung von HPEL finden Sie in der Dokumentation zum Einsatz von HPEL für die Fehlerbehebung in Anwendungen.
Wenn Sie das Script "applyPerfTuningTemplate.py" ausführen, geben Sie gewöhnlich die Schablonendatei "peak.props" oder "development.props" an, die auf den Zielserver bzw. den Zielcluster angewendet werden soll.
  • Wenn Sie bei der Ausführung des Scripts "applyPerfTuningTemplate.py" die Schablonendatei "peak.props" angeben, wendet das Script Konfigurationseinstellungen an, die für eine Produktionsumgebung geeignet sind, in der Anwendungsänderungen nur selten vorkommen und eine optimale Laufzeitleistung wichtig ist.
  • Wenn Sie bei der Ausführung des Scripts "applyPerfTuningTemplate.py" die Schablonendatei "development.props" angeben, wendet das Script Konfigurationseinstellungen an, die für eine Entwicklungsumgebung angemessen sind, in der Anwendungsaktualisierungen häufig vorkommen und nur minimale Systemressourcen zur Verfügung stehen.

Zusätzlich zu diesen beiden gängigen Schablonen wird eine dritte Schablonendatei mit dem Namen "default.props" bereitgestellt, mit der Sie die Serverkonfigurationseinstellungen auf die Standardeinstellungen zurücksetzen können.

Sie können auch eine eigene angepasste Optimierungsschablone erstellen. Zum Erstellen einer angepassten Optimierungsschablone kopieren Sie eine der vorhandenen Schablonen, passen die Konfigurationseinstellungen an Ihre Anwendungen und Ihre Umgebung an und verwenden anschließend das Script "applyPerfTuningTemplate.py", um diese angepassten Einstellungen anzuwenden. Das Script und die Eigenschaftendateien verwenden die von wsadmin bereitgestellten Konfigurationsmanagementfeatures und können problemlos erweitert werden, um weitere Serverkomponenten zu optimieren. Weitere Informationen finden Sie im Artikel "Eigenschaftendateien für die Verwaltung der Systemkonfiguration verwenden".

Informationen zu diesem Vorgang

Die folgende Tabelle enthält die Konfigurationsänderungen, die basierend auf der bei Ausführung des Scripts "applyPerfTuningTemplate.py" angebenen Schablonendatei vorgenommen werden. Eine leere Zelle in dieser Tabelle zeigt an, dass der aufgelistete Parameter nicht konfiguriert wird bzw. auf die Standardeinstellungen für den Server zurückgesetzt wird.

Tabelle 1. Optimierungsparameter und ihre Schablonenwerte. Die Tabelle enthält den Optimierungsparameter und seinen Wert für die Standardschablone, die Produktionsschablone und die Entwicklungsschablone.
Parameter Serverstandard (Schablonendatei "default.props") Produktionsumgebung (Schablonendatei "peak.props") Entwicklungsumgebung (Schablonendatei "development.props")
Größe des JVM-Heapspeichers (MB)

Weitere Informationen zu dieser Einstellung finden Sie im Artikel "IBM Virtual Machine for Java optimieren".

Minimum: 50 / Maximum: 256 Minimum: 512 / Maximum: 512 Minimum: 256 / Maximum: 512
Ausführliche GC

Weitere Informationen zu dieser Einstellung finden Sie im Artikel "IBM Virtual Machine for Java optimieren".

Inaktiviert Aktiviert Inaktiviert
JVM-Diagnosetrace (Generische JVM-Argumente)

Weitere Informationen zu dieser Einstellung finden Sie im Artikel "IBM Virtual Machine for Java optimieren".

Fehler vermeiden Fehler vermeiden: Diese Einstellung kann bei Verwendung von Web-Services in bestimmten Szenarien Probleme verursachen. Wenn Sie daher Web-Services ausführen und Probleme bei der Optimierung des Durchsatzes auftreten, können Sie diesen Parameter aus dem Script entfernen oder "opti level" auf 0 setzen.gotcha
-Dcom.ibm.xml.xlxp.jaxb .opti.level=3 -Dcom.ibm.xml.xlxp.jaxb .opti.level=3 -Dcom.ibm.xml.xlxp.jaxb .opti.level=3
maxKeepAliveRequests für HTTP- (9080) und HTTPS-Kanal (9443)

Weitere Informationen finden Sie im Artikel zu den angepassten Eigenschaften für die HTTP-Transportkette.

100 10000 10000
maxOpenConnections des TCP-Kanals 20000 500 500
listenBacklog des TCP-Kanals 511 128 128
Entwicklungsmodus

Weitere Informationen zu dieser Einstellung finden Sie im Artikel "Einstellungen des Anwendungsservers".

Inaktiviert   Aktiviert
Bereitstellung von Serverkomponenten

Weitere Informationen zu dieser Einstellung finden Sie im Artikel "Einstellungen des Anwendungsservers".

Inaktiviert Aktiviert Aktiviert
PMI-Statistikgruppe

Weitere Informationen zu dieser Einstellung finden Sie im Artikel "PMI-Datenerfassung aktivieren".

basic ohne ohne
Cachezeitlimit für Authentifizierung

Weitere Informationen zu dieser Einstellung finden Sie im Artikel "Einstellungen des Authentifizierungscaches".

10 Minuten 60 Minuten 60 Minuten
Größe des Verbindungspools für Datenquelle*

Weitere Informationen zu dieser Einstellung finden Sie im Artikel "Einstellungen des Verbindungspools".

Minimum: 1 / Maximum: 10 Minimum: 10 / Maximum: 50  
Größe des Caches für vorbereitete Anweisungen der Datenquelle*

Weitere Informationen zu dieser Einstellung finden Sie im Artikel zu den Einstellungen der Datenquellen für WebSphere Application Server.

10 50  
ORB-Feature "Übergeben durch Referenz"**

Weitere Informationen zu dieser Einstellung finden Sie im Artikel zu den Einstellungen des Objekt Request Broker (ORB).

Inaktiviert Aktiviert Aktiviert
ServerIOTimeout des Web-Server-Plug-ins 900 900 900
Thread-Pools (Web-Container, ORB, Standard)

Weitere Informationen zu dieser Einstellung finden Sie im Artikel zu den Einstellungen des Thread-Pools.

50 min / 50 max, 10 min / 50 max, 20 min / 20 max   5 min / 10 max
Anmerkungen zu Tabellen:
  • * Komponenten werden nur optimiert, wenn sie in der Konfiguration vorhanden sind. Der Verbindungspool einer Datenquelle ist gewöhnlich erst dann vorhanden, wenn eine Anwendung im Anwendungsserver installiert wird. Wenn diese Komponenten nach der Ausführung des Scripts erstellt werden, erhalten diese die Standardwerte des Servers, sofern Sie keine anderen Einstellungen angeben.
  • ** Die Aktivierung des ORB-Features "Übergeben durch Referenz" (Pass-By-Reference) kann manchmal zu einen unzulässigen Anwendungsverhalten führen, weil der Standard Java EE von der Semantik "Übergeben durch Wert" (Pass-by-Value) ausgeht. Durch die Aktivierung dieser Option kann die Leistung jedoch um mindestens 50 % verbessert werden, wenn der EJB-Client und der EJB-Server in derselben Instanz installiert sind und Ihre Anwendung so geschrieben ist, dass sie diese Feature nutzt. Mit Hilfe des Artikels zu den Einstellungen des ORB-Service können Sie feststellen, ob diese Einstellung für Ihre Umgebung geeignet ist.
Im Folgenden sind einige feine Unterschiede bei der Optimierung der verschiedenen Plattformen aufgeführt:
[Solaris]Plattform Solaris
[Solaris]Die folgenden generischen JVM-Argumente werden für die Produktionsumgebung und die Entwicklungsumgebung verwendet:
  • -XX:-UseAdaptiveSizePolicy
  • -XX:+UseParallelGC
  • -XX:+AggressiveOpts
  • -XX:+UnlockDiagnosticVMOptions -server
  • -Dcom.ibm.xml.xlxp.jaxb.opti.level=3
[HP-UX]Plattform HP-UX
[HP-UX]Die folgenden generischen JVM-Argumente werden für die Produktionsumgebung und die Entwicklungsumgebung verwendet:
  • -XX:+AggressiveOpts
  • -XX:+ForceMmapReserved
  • -XX:SurvivorRatio=16
  • -XX:+UseParallelGC
  • -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.DevPollSelectorProvider
  • -XX:-ExtraPollBeforeRead -XX:+UseSpinning
  • -Dcom.ibm.xml.xlxp.jaxb.opti.level=3
[z/OS]z/OS-Plattform
[z/OS]Die Standardgrößen des JVM-Heapspeichers sind anders als auf anderen Plattformen:
  • Mindestgröße des Heapspeichers: 256 MB
  • Maximale Größe des Heapspeichers: 512 MB

Vorgehensweise

Nächste Schritte

Führen Sie eine Leistungsauswertung und -optimierung durch, um festzustellen, ob eine weitere Feinabstimmung des Servers für Ihre speziellen Anwendungen erforderlich ist.


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_script
Dateiname:tprf_tuneappserv_script.html