Benutzer-Werkzeuge

Webseiten-Werkzeuge


prog:oracle_ords_performance_tuning

Oracle ORDS Performance Überlegungen

Installation siehe Oracle ORDS 3.0 (Oracle REST Data Services) mit APEX 5.0 und als REST Interface verwenden

Vor dem Optimieren steht das Messen um vergleichbare Ergebnisse zu erzielen.

Vorbereitung - Messen

Um die Leistungsfähigkeit der Umgebung zu messen wird ein einfacher Test Case eingerichtet, siehe ⇒ Rest Data Service mit Oracle ORDS siehe Oracle ORDS 3.0 REST API nativ verwenden.

  • Apache JMeter herunterladen von http://jmeter.apache.org
  • Entpacken z.B. nach C:\tools\apache-jmeter-3.2
  • Starten mit „jmeter.bat“

Tipp

Falls ein 4K Monitor benützt wird, ist leider die Auflösung viel zu klein

Siehe auch ⇒ https://stackoverflow.com/questions/25145204/how-to-use-jmeter-ui-on-ultra-high-resolution-display

  • Zoom in/out by using CTRL +/-
  • jmeter.bat erweitern um
    set JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.controlFont=Dialog-26
    set JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.systemFont=Dialog-26
    set JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.userFont=SansSerif-22
    set JVM_ARGS=%JVM_ARGS% -Dswing.plaf.metal.smallFont=SansSerif-22

Einen ersten Test anlegen ⇒ Siehe https://www.digitalocean.com/community/tutorials/how-to-use-apache-jmeter-to-perform-load-testing-on-a-web-server


Wie kann ich die Leistung des nun ORDS verbessern?

Neuest Release testen

Im ersten Schritt gleich auf das aktuellste Release umsteigen (3.0.11 September 2017) um unnötige Bugs zu übergehen.

Datenbank Pool Größe anpassen

Minimale und Maximale Pool Größe anpassen ( ORDS verwendet den Oracle Universal Connection Pool (UCP) ) d.h. zu Beginn wird eine gewisse Anzahl an Connections aufgebaut,jdbc.InitialLimit (default 3), sind diese Connections belegt werden bis jdbc.MaxLimit neue Connections dem Pool hinzugefügt.

Parameter in defaults.xml: (see http://docs.oracle.com/cd/E56351_01/doc.30/e87809/about-REST-configuration-files.htm#AELIG7204 )

  • jdbc.InitialLimit ⇒ the number of DB connections that will be created when the server is started
  • jdbc.MaxLimit ⇒ the maximum number of connections

Bei diesen Parameter ist zu beachten, das viel hilft viel der Datenbank nicht hilft! D.h. sinnvolle produktive Werte liegen so bei 10/50 und sollten nicht zu groß gewählt werden!

JVM Speicher ORDS Standalone optimieren

Selten wird der ORDS wohl produktiv standalone eingesetzt werden, hier kann der Speicherbedarf ganz klassisch über „-Xms1024m -Xmx1024m“ Java Parameter eingestellt werden.

ORDS im Tomcat

Apache => Tomcat => ORDS Umgebung mod_jk optimieren

Problem:

ajp_get_endpoint::jk_ajp_common.c (3367): Unable to get the free endpoint for
worker worker1 from 10 slots

Mod_jk

Parameter prüfen ⇒ https://tomcat.apache.org/connectors-doc/reference/workers.html

Es ist zum empfehlen den Speicher für Tomcat wenigstens auf 2GB zu erhöhen!


Quellen

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
"Autor: Gunther Pipperr"
prog/oracle_ords_performance_tuning.txt · Zuletzt geändert: 2017/09/08 13:57 von Gunther Pippèrr