Benutzer-Werkzeuge

Webseiten-Werkzeuge


prog:oracle_ords_performance_tuning

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
prog:oracle_ords_performance_tuning [2017/09/07 10:41]
gpipperr [Quellen]
prog:oracle_ords_performance_tuning [2017/09/08 13:57] (aktuell)
gpipperr [Apache => Tomcat => ORDS Umgebung mod_jk optimieren]
Zeile 1: Zeile 1:
 +===== Oracle ORDS Performance Überlegungen ====
 +
 +Installation siehe [[prog:first_steps_oracle_rest_data_service|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 [[prog:ords_rest_service|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" 
 +
 +
 +
 +**<fc #800000>Tipp</fc>**
 +
 +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 <code java>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</code>
 +
 +
 +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 === 
 +
 +Tomcat optimieren => http://www.jmjcloud.com/blog/tuning-tomcat-for-apexords-in-production
 +
 +
 +=== Apache => Tomcat => ORDS Umgebung mod_jk optimieren ===
 +
 +
 +**<fc #800000>Problem</fc>**:
 +<code apache>
 +ajp_get_endpoint::jk_ajp_common.c (3367): Unable to get the free endpoint for
 +worker worker1 from 10 slots
 +</code>
 +
 +
 +Mod_jk
 +
 +  * https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/5/html/HTTP_Connectors_Load_Balancing_Guide/Apache_HTTP_Troubleshooting.html
 +
 +
 +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 ====
 +
 +
 +
 +Apache JMeter
 +http://jmeter.apache.org/usermanual/best-practices.html
 +
 +
 +Oracle
 +
 +
 +Foren:
 +  * https://community.oracle.com/thread/4032635
 +
 +
 +ORDS 3 Doku
 +  * http://docs.oracle.com/cd/E56351_01/index.htm
 +
 +
 +Apache Tomcat
 +
 +  * https://javamaster.wordpress.com/2013/03/13/apache-tomcat-tuning-guide/
  
"Autor: Gunther Pipperr"
prog/oracle_ords_performance_tuning.txt · Zuletzt geändert: 2017/09/08 13:57 von gpipperr