real-world load testing of adf fusion applications demonstrated - oracle openworld preview amis
DESCRIPTION
After passing all functional tests, many web applications fail under the regular load conditions. Just 100 active users may be sufficient to cause severe errors and a decline in performance. In this session, load testing of ADF applications with the Oracle Application Testing Suite and Apache JMeter will be discussed and demonstrated. With these tools, you have an analysis-instrument to do performance analysis and regression analysis after new patches/releases. A proper managed load test also gives insight in the effects configuration parameters. The speaker will share best test practices to perform load tests and offer typical solutions for creating an efficient, scalable ADF application.TRANSCRIPT
![Page 1: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/1.jpg)
Frank Houweling
AMIS preview Oracle Open World 2014
Real-World Load Testing of ADF Fusion Applications
![Page 2: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/2.jpg)
Frank Houweling
• Frank Houweling
• Senior Java / ADF specialist
• Focus on performance diagnosis and performance management
• Lead developer of the ADF Performance Monitor
![Page 3: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/3.jpg)
3
Agenda
• Why is testing important
• Intro Apache JMeter and Oracle Load Testing (OLT)
• Demo
• Metrics analysis
• Top 3 scalability problems and solutions
![Page 4: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/4.jpg)
4
Why is load testing important - 1
![Page 5: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/5.jpg)
5
Why is load testing important - 2
• Is very useful to test scalability and SLA
– Avoid frustrated end-users
– Avoid lost revenue
![Page 6: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/6.jpg)
Challenges Load Testing ADF Application
• Trying out / testing the most optimal:
– ApplicationModule pooling parameter settings
– JVM heap size & garbage collection strategy
– Datasource configuration (number of database connections)
– Number of WebLogic nodes
– Infrastructure/hardware usage & licenses
![Page 7: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/7.jpg)
7
You need metrics to be in control and know what's going on
![Page 8: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/8.jpg)
8
Introducing Apache JMeter
• Open source desktop application, designed to load test functional behavior and measure performance.
• open source software
• 100% pure Java application
• not easy to configure
• but free
![Page 9: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/9.jpg)
Introducing Oracle Application Testing Suite (OATS)
• Powerful, integrated solution for ensuring
application quality.
Oracle Functional Testing
Oracle Test Manager
Oracle Load Testing
It is Oracle’s solution for testing Oracle Applications and the standard for testing at Oracle For example Fusion/ADF, EBS, Siebel, JDE, FMW, e.g.
![Page 10: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/10.jpg)
10
OpenScript Automates functional and load testing
• OpenScript is used for both creation of functional and load test scripts using record and playback
• Accelerators (templates) for Fusion/ADF, webservices, eBS, JDE, e.g.
• Integrated Eclipse IDE for script development
![Page 11: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/11.jpg)
11
OpenScript Concepts
![Page 12: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/12.jpg)
12
Installing OATS
• Current newest version: 12.4.0.1.0
• Download from OTN
![Page 13: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/13.jpg)
13
Agenda
• Why is testing important
• Intro Apache JMeter and Oracle Load Testing (OLT)
• Demos (NOTE: without sound, play in Firefox or IE)
– Record a load test scenario (1.20 min)
– Execute a load test (3 min)
• Metrics analysis
• Top 3 scalability problems and solutions
![Page 14: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/14.jpg)
14
Analysis load test metrics: Default graphs in OLT
• Default graphs
– Active Virtual Users • number of virtual users currently running
– Virtual Users with Errors • number of virtual users with errors
– Transactions Per Second • number of times the virtual user played back the script per second
– Pages Per Second • number of pages returned by the server per second
– Hits Per Second • number of resource requests to the server per second
– Kilobytes Per Second • number of kilobytes transferred between the server and browser client per second
![Page 15: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/15.jpg)
15
Analysis load test metrics: Determine the weakest links
• Collect relevant load test metrics
– Number of virtual users
– Average response times
– ApplicationModule pooling activations and passivations
– JVM heap and garbage collections
– Database performance
– Infrastructure metrics
• Bring the metrics together in time
• Analyze results and determine weak links
![Page 16: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/16.jpg)
16
Analysis load test metrics - 1 example: CPU seems to be a bottleneck
throughput virtual users
CPU usage
• imported CPU metrics from WLS during load test – the CPU seems to be the bottleneck
![Page 17: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/17.jpg)
17
Analysis load test metrics - 2 Monitor in Database EM Control during load test
Example: High CPU Wait in Database EM Control
![Page 18: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/18.jpg)
18
Agenda
• Why is testing important
• Intro Apache JMeter and Oracle Load Testing (OLT)
• Demo
• Metrics analysis
• Top 3 scalability problems and solutions
![Page 19: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/19.jpg)
Common scalability problems - 1 Too frequent ‘expensive’ ApplicationModule
passivations & activations
Recommendations
• Don’t use the AM pooling default parameter settings; calculate how many AMs you will
need during peek times
– Increase maxavailablesize and recyclethreshold to this value • jbo.ampool.maxavailablesize = jbo.recyclethreshold
– Set minavailablesize to 80% of maxavailablesize • jbo.ampool.minavailablesize = 80 % of jbo.ampool.maxavailablesize
Result:
• Avoids long running, ‘expensive’ passivations and activations of AMs under normal load
• Best practice: test it during a load test !
![Page 20: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/20.jpg)
20 Monitor ApplicationModule Pooling behavior; activations and passivations
• What is the average, total, min and max execution time of activations and passivations?
![Page 21: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/21.jpg)
21
What is the root cause of long passivations?
![Page 22: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/22.jpg)
22
What is the root cause of long activations?
![Page 23: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/23.jpg)
23 Common scalability problems - 2 Too little JVM Heap size, long running JVM
garbage collections
• Avoid too frequent long running JVM garbage collections that freeze all requests
• Set ( -Xms and -Xmx) as large as possible within available physical memory
• Generational parallel garbage collection strategy is recommended to maximize
throughput: -Xgc:genpar (JRockit)
• Consider more Weblogic nodes if you have many end-users
• Best practice: test it during a load test !
![Page 24: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/24.jpg)
24
Common scalability problems - 3 Not enough database connections
Solution: increase Maximum Capacity of datasource in WLS console
![Page 25: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/25.jpg)
25 Monitor nr of database connections in WLS console during load test
• Monitor the number of database connections in the Weblogic Console
• set jbo.doconnectionpooling=true and jbo.txn.disconnect_level=1
![Page 26: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/26.jpg)
26 Measure number of database connections in database during load test
(logged in as SYS or SYSDBA)
![Page 27: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/27.jpg)
27
Tuning Challenges
• Requires expertise and is time consuming
– Should be done in time (not 1 week before production)
– Relevant scenario’s should be tested
– All load testing tools take time to become familiar
• Analysis
– What type of operations is the ADF application or database spending most time on ?
– Which resources is the WLS server or database bottlenecked on?
– What is causing these bottlenecks?
– What can be done to resolve them ?
![Page 28: Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS](https://reader034.vdocument.in/reader034/viewer/2022051411/5461e9d5b1af9fbc4d8b4ef0/html5/thumbnails/28.jpg)
28
Learn More
• Oracle Application Testing Suite on OTN
– Download
– Tutorials
– Demos
– Training
• Free alternative (but more configuration):
Apache Jmeter
• Fusion Developer Guide on ApplicationModule pooling (11.1.2)
• ADF Performance Monitor