performance mit forms 11gr2 weblogic 10.3 - doag.org · pdf filewie viel heapsize sollte der...

37
www.pitss.com Copyright 2012 PITSS GmbH Nürnberg, 22.11.2012, Jan-Peter Timmermann Performance mit Forms 11gR2 Weblogic 10.3.x

Upload: truongxuyen

Post on 12-Mar-2018

214 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

www.pitss.com

Copyright 2012 PITSS GmbH

Nürnberg, 22.11.2012, Jan-Peter Timmermann

Performance mit Forms 11gR2 Weblogic 10.3.x

Page 2: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

2 www.pitss.com

Copyright 2012 PITSS GmbH

Wie sind die Anforderungen (Forms Server)

Schnelles starten der Anwendung

Abfragen Performant ausführen

Schnelles starten des Applikation Servers

Page 3: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

3 www.pitss.com

Copyright 2012 PITSS GmbH

Was sagen denn Google und Support zu dem Thema

Suchbegriff : oracle forms 11g performance tuning 171.000 Ergebnisse

Forum.oracle.com

Search Results » Messages: 189 - Search Terms: tuning wls_forms https://forums.oracle.com/forums/thread.jspa?m

essageID=9795437&#9795437

Such

en

Vorführender
Präsentationsnotizen
Wenn man anfängt sich mit dem Thema zu beschäftigen ist natürlich der erste Schritt: Frag mal Google oder das Oracle Forum. Google liefert leider nur sehr viele Ergebnisse die in Richtung der Dokumentation gehen. Besser ist da schon der Forums Eintrag. Der in meinen Augen sehr gut das Thema beleuchtet und erklärt. (Sorry ist ein Kollege von mir, ist aber erst nachher aufgefallen)
Page 4: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

4 www.pitss.com

Copyright 2012 PITSS GmbH

Was sagt Oracle zu dem Thema

Information Center: Optimizing Performance of Oracle Fusion Middleware 11g [ID 1469617.2]

About Reports Servers Spawning Engines [Document 1446679.1] Oracle Support Policy on Oracle Forms/Reports Performance Tuning [Document 1352875.1] Slow Response Time with Arraysize Set to Higher Values in Forms 11 and Sqlplus [Document 946045.1] Performance Decreasing Using Web Cache in Combination With Oracle Forms [Document 443405.1]

Ora

cle

Vorführender
Präsentationsnotizen
Im Metalink gibt es eine sehr umfassende Dokumentation zu diesem Thema, die ich eigentlich jedem der sich mit einer OFM (egal. Ob SOA, Forms/Reports etc.) beschäftigt als Pflichtlektüre empfehlen kann.
Page 5: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

5 www.pitss.com

Copyright 2012 PITSS GmbH

Viele Faktoren beeinflussen die Umgebung O

racl

e

The client specification: memory and CPU The middle tier specification: memory and CPU. The database tier specification: can the database keep up

with the requests from all of your concurrent users or is it a bottleneck

The network topology. Between the client and the middle tier. Between the middle tier and the database

Do they do a lot of calculations (CPU-intensive)? Do they process large amounts of data (memory-intensive)?

Vorführender
Präsentationsnotizen
Dabei ist nicht nur die OFM zu berücksichtigen, sondern es spielen viele Bereiche ein Rolle.
Page 6: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

6 www.pitss.com

Copyright 2012 PITSS GmbH

Was brauche ich eigentlich

Bei jeder Installation wiederkehrende Fragen

Wieviel Forms Server brauche ich Wieviel RAM brauche ich bei 100 Usern

(Hardware) Wieviele Report Server benötige ich

Wie viel Heapsize sollte der Forms Server

bekommen (mehr als 1024 MB) ?

Agen

da

Vorführender
Präsentationsnotizen
Im vorherigem Vortrag haben wir sehr viel über GC gehört ebenso über diverse Monitoring Tools. Ich möchte an dieser Stelle nun für die OFM Forms Repors Komponenten ein paar Bereiche aufzeigen, die immer wieder für Konfigurationen sorgen. Bei jeder Installation einer Oracle Forms/Reports Umgebung tauchen die selben Fragen auf.
Page 7: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

7 www.pitss.com

Copyright 2012 PITSS GmbH

Oracle Support Policy on Oracle Forms/Reports Performance Tuning

Oracle has no specific documents that state

"if you have X number of users you will need Y amount of RAM and Z amount of CPU speed".

Oracle Application Server Forms Services 10g (9.0.4) Capacity Planning Guide

Seite 14 “The only true way to test the scalability for your application is to run your own benchmarking tests”

Ora

cle

Vorführender
Präsentationsnotizen
Wenn man nun im Metalink schaut steht dort, Nein es gibt keine Empfehlung wie die Umgebung auszusehen hat.
Page 8: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

8 www.pitss.com

Copyright 2012 PITSS GmbH

Kalkulations Vorschlag laut Guide O

racl

e

Total memory = Memory for the operating system + Base Application Server memory + Memory consumed per user * # of Users + Average free memory Memory consumed per user = ( Total Memory - Memory for the operating system - Base Application Server memory - Average free memory ) / # of Users

Vorführender
Präsentationsnotizen
Innerhalb der Dokumentation 10gR1 (9.0.4) gibt es diese Berechnungen
Page 9: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

9 www.pitss.com

Copyright 2012 PITSS GmbH

Welche Komponenten sind in Forms betroffen

Welche der betroffenen Komponenten

HTTP Server Webserver Webcache

Weblogic Managed Server Java Virtuelle Maschine Komponenten

Client TCP/IP Netzwerk allgemein

Page 10: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

10 www.pitss.com

Copyright 2012 PITSS GmbH

Tuning HTTP

Im HTTP Umfeld wären folgende Parameter für ein Tuning von Interesse

KeepAlive MaxClient MinSpareServers MaxSpareServers KeepAliveTimeout MaxRequestsPerChild ThreadLimit ThreadsPerChild Global-thread-pool

Vorführender
Präsentationsnotizen
Limit the number of processes (HTTPD on Unix; THREAD on NT) to avoid spawning too many HTTPD processes (which is memory consuming). 2. Set the following directive in the Oracle HTTP Listener configuration file httpd.conf: KeepAlive Off If you must use KeepAlive On (for example, for another application), make sure that KeepAliveTimeout is set to a low number (for example, 15 seconds, which is the default). 3. Set the maxClient directive to a high value. The best is to let the HTTP Listener control to create more HTTPD daemons. Therefore set the maxClient directive to a high value in the configuration file (httpd.conf). However, you need to consider the memory available on the system when setti this parameter. MaxClient=256 means that the listener can create up to 256 HTTPD processes to handle concurrent requests. 4. MinSpareServers / MaxSpareServers If your HTTP requests come in bursts, and you want to reduce the time to start the necessary HTTPD processes, you can set MinSpareServers and MaxSpareServers within httpd.conf) to have an appropriate number of processes ready. However, the default values of 5 and 10 respectively are sufficient for mos Sites The MaxRequestsPerChild directive sets the limit on the number of requests that an individual child server process will handle. After MaxRequestsPerChild requests, the child process will die. If MaxRequestsPerChild is 0, then the process will never expire. This directive sets the maximum configured value for ThreadsPerChild for th lifetime of the Apache process. Any attempts to change this directive durin a restart will be ignored, but ThreadsPerChild can be modified during a restart up to the value of this directive. 6. ThreadsPerChild This directive sets the number of threads created by each child process. The child creates these threads at startup and never creates more.
Page 11: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

11 www.pitss.com

Copyright 2012 PITSS GmbH

Forms Tuning

JRockit oder Sun JDK

Gefühlt ist das JRockit „schneller“ Aber nicht für Forms und Reports erlaubt

Also bleibt nur das Sun JDK Parameter für die JVM anpassen

Max = Min -server oder –client C-Code Stack

Page 12: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

12 www.pitss.com

Copyright 2012 PITSS GmbH

Java Parameter

-Xms<size> set initial Java heap size

-Xmx<size> set maximum Java heap size

-client and –server

-Xss

Assuming that you are running a lot of bytecodes. Make sure that you are using the correct mode of the virtual machine. For applications that need small footprint and fast startup, use -client. For applications where overall performance is the most important issue, use -server.

The default C code stack size is 512kb(-Xss512k). A value of 64kb is the smallest amount of C code stack space allowed per thread.

Page 13: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

13 www.pitss.com

Copyright 2012 PITSS GmbH

OC4J Tuning

• Darstellung der Parameter die man ändern sollte

• Default_island • Anzahl CPU=Anzahl default_island

• Java Start Parameter • -Server -Djava.security.policy=/opt/oracle/product/frservice/j2ee/OC4J_BI_Forms/config/java2.policy -

Djava.awt.headless=true –Xmx512M -Xms128M

Page 14: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

14 www.pitss.com

Copyright 2012 PITSS GmbH

WLS_FORMS klonen

Page 15: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

15 www.pitss.com

Copyright 2012 PITSS GmbH

WLS_FORMS klonen

Page 16: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

16 www.pitss.com

Copyright 2012 PITSS GmbH

WLS_FORMS klonen

Page 17: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

17 www.pitss.com

Copyright 2012 PITSS GmbH

WLS_FORMS klonen

Page 18: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

18 www.pitss.com

Copyright 2012 PITSS GmbH

WLS_FORMS klonen

Page 19: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

19 www.pitss.com

Copyright 2012 PITSS GmbH

Verbrauch Ve

rbra

uch

Gesamt Benutzt Frei Verbrauch Nur OS 8.002,39 651,93 7.350,46

Nach DB 8.002,39 995,49 7.006,91

Nach WLS 8.002,39 3.907,51 4.094,88

Test.fmx 8.002,39 3.920,55 4.081,84 13,04 MB

DatenMaske 8.002,39 3.988,05 4.014,34 80,54 MB Reports Maske 8.002,39 3.974,07 4.028,32 66 MB

Mit Report 8.002,39 74 MB

Vorführender
Präsentationsnotizen
Ich habe genau nach Handbuch einmal versucht zu vermessen was meine Anwendungen an Speicher benötigen.
Page 20: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

20 www.pitss.com

Copyright 2012 PITSS GmbH

Daten Test 1 Anwender

Page 21: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

21 www.pitss.com

Copyright 2012 PITSS GmbH

DatenTest 100 Anwender

Vorführender
Präsentationsnotizen
Mit der OATS von Oracle habe ich mit der Datenmaske einmal Last auf meinen Server gebracht. In dieser Darstellung sind 100 Forms Session aktiv. Die allerdings nicht sehr viel Heap Speicher verbrauchen.
Page 22: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

22 www.pitss.com

Copyright 2012 PITSS GmbH

Prestart

Zwei Arten von Prestart

Formsweb.cfg prestartRuntimes=true prestartInit = 10 prestartMin = 5 prestartIncrement = 5 prestartTimeout = 2000

Zeitgesteuert Über die EM-Console

Page 23: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

23 www.pitss.com

Copyright 2012 PITSS GmbH

Prestart Zeitgesteuert

Page 24: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

24 www.pitss.com

Copyright 2012 PITSS GmbH

Prestart Zeitgesteuert

Page 25: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

25 www.pitss.com

Copyright 2012 PITSS GmbH

Page 26: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

26 www.pitss.com

Copyright 2012 PITSS GmbH

Verwaltungsmaske / Test Reports

Page 27: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

27 www.pitss.com

Copyright 2012 PITSS GmbH

Heap Size bei Forms/Reports He

ap S

ize

Page 28: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

28 www.pitss.com

Copyright 2012 PITSS GmbH

Heap Size bei Forms/Reports O

racl

e

Page 29: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

29 www.pitss.com

Copyright 2012 PITSS GmbH

Page 30: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

30 www.pitss.com

Copyright 2012 PITSS GmbH

Page 31: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

31 www.pitss.com

Copyright 2012 PITSS GmbH

Page 32: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

32 www.pitss.com

Copyright 2012 PITSS GmbH

Erfasster Bildschirmausschnitt: 28.08.2012 13:36

Page 33: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

33 www.pitss.com

Copyright 2012 PITSS GmbH

Reports Tuning

Anpassungen der JVM Parameter

Vorgabe der Memory Parameter Max = Min Wie für den Forms Bereich KeepConnection

Abbrüche minimieren

Retry = yes Für jede CPU eine Engine Für verschiedene Aufgaben einzelne Reports Server

Mit angepasster Konfiguration

Page 34: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

34 www.pitss.com

Copyright 2012 PITSS GmbH

Startup Weblogic

Unter Unix/Linux Derivaten startet der Server recht langsam

random number generator during start up Because of the bug Java somehow maps /dev/urandom file to

/dev/random Best solution is to change

$JAVA_HOME/jre/lib/security/java.security

securerandom.source=file:/dev/./urandom

Quelle: http://www.itonguard.com/20090313/weblogic-starts-slow/

Page 35: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

35 www.pitss.com

Copyright 2012 PITSS GmbH

Startup Weblogic

Page 36: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

36 www.pitss.com

Copyright 2012 PITSS GmbH

Zum Nachlesen

Oracle Forum:

https://forums.oracle.com/forums/thread.jspa?messageID=9795437&#9795437

Fortbildung:

WeblogicServer Forms & Reports für Administratoren http://www.pitss.de/services/trainings/administration/

weblogicserver-forms-reports-fuer-administratoren/

Page 37: Performance mit Forms 11gR2 Weblogic 10.3 - doag.org · PDF fileWie viel Heapsize sollte der Forms Server ... Users + Average free memory . Memory consumed per user = ... Max = Min

www.pitss.com

Copyright 2012 PITSS GmbH

Thank You For Your Attention!

Stuttgart, 15.10.2012, Andreas Gaede Nürnberg, 22.11.2012, Jan-Peter Timmermann