SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
Frank Houweling 
AMIS preview Oracle Open World 2014 
Real-World Load Testing of ADF Fusion Applications
Frank Houweling 
•Frank Houweling 
•Senior Java / ADF specialist 
•Focus on performance diagnosis and performance management 
•Lead developer of the ADF Performance Monitor
3 
Agenda 
•Why is testing important 
•Intro Apache JMeter and Oracle Load Testing (OLT) 
•Demo 
•Metrics analysis 
•Top 3 scalability problems and solutions
4 
Why is load testing important - 1
5 
Why is load testing important - 2 
•Is very useful to test scalability and SLA 
–Avoid frustrated end-users 
–Avoid lost revenue
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
7 
You need metrics to be in control and know what's going on
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
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.
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
11 
OpenScript Concepts
12 
Installing OATS 
•Current newest version: 12.4.0.1.0 
•Download from OTN
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
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
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
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
17 
Analysis load test metrics - 2 Monitor in Database EM Control during load test 
Example: High CPU Wait in Database EM Control
18 
Agenda 
•Why is testing important 
•Intro Apache JMeter and Oracle Load Testing (OLT) 
•Demo 
•Metrics analysis 
•Top 3 scalability problems and solutions
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 !
20 
Monitor ApplicationModule Pooling behavior; activations and passivations 
•What is the average, total, min and max execution time of activations and passivations?
21 
What is the root cause of long passivations?
22 
What is the root cause of long activations?
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 !
24 
Common scalability problems - 3 Not enough database connections 
Solution: increase Maximum Capacity of datasource in WLS console
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
26 
Measure number of database connections in database during load test 
(logged in as SYS or SYSDBA)
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 ?
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

Contenu connexe

Tendances

WSO2 Test Automation Framework : Approach and Adoption
WSO2 Test Automation Framework : Approach and AdoptionWSO2 Test Automation Framework : Approach and Adoption
WSO2 Test Automation Framework : Approach and Adoption
WSO2
 
COUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesCOUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_Features
Alfredo Abate
 
Data Driven Testing
Data Driven TestingData Driven Testing
Data Driven Testing
Maveryx
 
Hybrid framework for test automation
Hybrid framework for test automationHybrid framework for test automation
Hybrid framework for test automation
srivinayak
 
ATLAS Automation POC
ATLAS Automation POCATLAS Automation POC
ATLAS Automation POC
aakashmc
 

Tendances (20)

Application Testing Suite 9.2
Application Testing Suite 9.2Application Testing Suite 9.2
Application Testing Suite 9.2
 
Deployment automation framework with selenium
Deployment automation framework with seleniumDeployment automation framework with selenium
Deployment automation framework with selenium
 
Web Services and Introduction of SOAPUI
Web Services and Introduction of SOAPUIWeb Services and Introduction of SOAPUI
Web Services and Introduction of SOAPUI
 
Soap UI - Getting started
Soap UI - Getting startedSoap UI - Getting started
Soap UI - Getting started
 
Selenium Test Automation
Selenium Test AutomationSelenium Test Automation
Selenium Test Automation
 
Soap UI - Lesson45
Soap UI - Lesson45Soap UI - Lesson45
Soap UI - Lesson45
 
Hybrid framework
Hybrid frameworkHybrid framework
Hybrid framework
 
WSO2 Test Automation Framework : Approach and Adoption
WSO2 Test Automation Framework : Approach and AdoptionWSO2 Test Automation Framework : Approach and Adoption
WSO2 Test Automation Framework : Approach and Adoption
 
COUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesCOUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_Features
 
Data Driven Testing
Data Driven TestingData Driven Testing
Data Driven Testing
 
Web and load testing with Visual Studio 2010 Ultimate
Web and load testing with Visual Studio 2010 UltimateWeb and load testing with Visual Studio 2010 Ultimate
Web and load testing with Visual Studio 2010 Ultimate
 
Introduction to SoapUI day 2
Introduction to SoapUI day 2Introduction to SoapUI day 2
Introduction to SoapUI day 2
 
JMeter vs LoadRunner | Edureka
JMeter vs LoadRunner | EdurekaJMeter vs LoadRunner | Edureka
JMeter vs LoadRunner | Edureka
 
Data driven Automation Framework with Selenium
Data driven Automation Framework with Selenium Data driven Automation Framework with Selenium
Data driven Automation Framework with Selenium
 
Learn SoapUI
Learn SoapUILearn SoapUI
Learn SoapUI
 
Hybrid framework for test automation
Hybrid framework for test automationHybrid framework for test automation
Hybrid framework for test automation
 
ATLAS Automation POC
ATLAS Automation POCATLAS Automation POC
ATLAS Automation POC
 
How to make a Load Testing with Visual Studio 2012
How to make a Load Testing with Visual Studio 2012How to make a Load Testing with Visual Studio 2012
How to make a Load Testing with Visual Studio 2012
 
Performance Testing in Oracle Apps
Performance Testing in Oracle AppsPerformance Testing in Oracle Apps
Performance Testing in Oracle Apps
 
Selenium Automation Framework
Selenium Automation  FrameworkSelenium Automation  Framework
Selenium Automation Framework
 

Similaire à Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS

Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502
kaziul Islam Bulbul
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeter
Bhojan Rajan
 

Similaire à Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS (20)

Fastest Servlets in the West
Fastest Servlets in the WestFastest Servlets in the West
Fastest Servlets in the West
 
Performance tuning Grails Applications GR8Conf US 2014
Performance tuning Grails Applications GR8Conf US 2014Performance tuning Grails Applications GR8Conf US 2014
Performance tuning Grails Applications GR8Conf US 2014
 
Load Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSLoad Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWS
 
Performance Testing Overview
Performance Testing OverviewPerformance Testing Overview
Performance Testing Overview
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
 
Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014
 
Load Testing: See a Bigger Picture, ALM Forum, 2014
Load Testing: See a Bigger Picture, ALM Forum, 2014Load Testing: See a Bigger Picture, ALM Forum, 2014
Load Testing: See a Bigger Picture, ALM Forum, 2014
 
Performance tuning Grails applications
Performance tuning Grails applicationsPerformance tuning Grails applications
Performance tuning Grails applications
 
Adding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestAdding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance Test
 
ADF Performance Monitor
ADF Performance MonitorADF Performance Monitor
ADF Performance Monitor
 
collab2011-tuning-ebusiness-421966.pdf
collab2011-tuning-ebusiness-421966.pdfcollab2011-tuning-ebusiness-421966.pdf
collab2011-tuning-ebusiness-421966.pdf
 
Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeter
 
071410 sun a_1515_feldman_stephen
071410 sun a_1515_feldman_stephen071410 sun a_1515_feldman_stephen
071410 sun a_1515_feldman_stephen
 
Tools of the Trade: Load Testing - Ignite session at WebPerfDays NY 14
Tools of the Trade: Load Testing -  Ignite session at WebPerfDays NY 14Tools of the Trade: Load Testing -  Ignite session at WebPerfDays NY 14
Tools of the Trade: Load Testing - Ignite session at WebPerfDays NY 14
 
Laravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and ToolsLaravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and Tools
 
05. performance-concepts
05. performance-concepts05. performance-concepts
05. performance-concepts
 
Performance tuning Grails applications
 Performance tuning Grails applications Performance tuning Grails applications
Performance tuning Grails applications
 
Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & Tricks
 
Kafka PPT.pptx
Kafka PPT.pptxKafka PPT.pptx
Kafka PPT.pptx
 

Plus de Getting value from IoT, Integration and Data Analytics

Plus de Getting value from IoT, Integration and Data Analytics (20)

AMIS Oracle OpenWorld en Code One Review 2018 - Blockchain, Integration, Serv...
AMIS Oracle OpenWorld en Code One Review 2018 - Blockchain, Integration, Serv...AMIS Oracle OpenWorld en Code One Review 2018 - Blockchain, Integration, Serv...
AMIS Oracle OpenWorld en Code One Review 2018 - Blockchain, Integration, Serv...
 
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...
 
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaS
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaSAMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaS
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaS
 
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Data
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: DataAMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Data
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Data
 
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Cloud Infrastructure
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Cloud Infrastructure AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Cloud Infrastructure
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Cloud Infrastructure
 
10 tips voor verbetering in je Linkedin profiel
10 tips voor verbetering in je Linkedin profiel10 tips voor verbetering in je Linkedin profiel
10 tips voor verbetering in je Linkedin profiel
 
Iot in de zorg the next step - fit for purpose
Iot in de zorg   the next step - fit for purpose Iot in de zorg   the next step - fit for purpose
Iot in de zorg the next step - fit for purpose
 
Iot overview .. Best practices and lessons learned by Conclusion Conenct
Iot overview .. Best practices and lessons learned by Conclusion Conenct Iot overview .. Best practices and lessons learned by Conclusion Conenct
Iot overview .. Best practices and lessons learned by Conclusion Conenct
 
IoT Fit for purpose - how to be successful in IOT Conclusion Connect
IoT Fit for purpose - how to be successful in IOT Conclusion Connect IoT Fit for purpose - how to be successful in IOT Conclusion Connect
IoT Fit for purpose - how to be successful in IOT Conclusion Connect
 
Industry and IOT Overview of protocols and best practices Conclusion Connect
Industry and IOT Overview of protocols and best practices  Conclusion ConnectIndustry and IOT Overview of protocols and best practices  Conclusion Connect
Industry and IOT Overview of protocols and best practices Conclusion Connect
 
IoT practical case using the people counter sensing traffic density build usi...
IoT practical case using the people counter sensing traffic density build usi...IoT practical case using the people counter sensing traffic density build usi...
IoT practical case using the people counter sensing traffic density build usi...
 
R introduction decision_trees
R introduction decision_treesR introduction decision_trees
R introduction decision_trees
 
Introduction overviewmachinelearning sig Door Lucas Jellema
Introduction overviewmachinelearning sig Door Lucas JellemaIntroduction overviewmachinelearning sig Door Lucas Jellema
Introduction overviewmachinelearning sig Door Lucas Jellema
 
IoT and the Future of work
IoT and the Future of work IoT and the Future of work
IoT and the Future of work
 
Oracle OpenWorld 2017 Review (31st October 2017 - 250 slides)
Oracle OpenWorld 2017 Review (31st October 2017 - 250 slides)Oracle OpenWorld 2017 Review (31st October 2017 - 250 slides)
Oracle OpenWorld 2017 Review (31st October 2017 - 250 slides)
 
Ethereum smart contracts - door Peter Reitsma
Ethereum smart contracts - door Peter ReitsmaEthereum smart contracts - door Peter Reitsma
Ethereum smart contracts - door Peter Reitsma
 
Blockchain - Techniek en usecases door Robert van Molken - AMIS - Conclusion
Blockchain - Techniek en usecases door Robert van Molken - AMIS - ConclusionBlockchain - Techniek en usecases door Robert van Molken - AMIS - Conclusion
Blockchain - Techniek en usecases door Robert van Molken - AMIS - Conclusion
 
kennissessie blockchain - Wat is Blockchain en smart contracts @Conclusion
kennissessie blockchain -  Wat is Blockchain en smart contracts @Conclusion kennissessie blockchain -  Wat is Blockchain en smart contracts @Conclusion
kennissessie blockchain - Wat is Blockchain en smart contracts @Conclusion
 
Internet of Things propositie - Enterprise IOT - AMIS - Conclusion
Internet of Things propositie - Enterprise IOT - AMIS - Conclusion Internet of Things propositie - Enterprise IOT - AMIS - Conclusion
Internet of Things propositie - Enterprise IOT - AMIS - Conclusion
 
Omc AMIS evenement 26012017 Dennis van Soest
Omc AMIS evenement 26012017 Dennis van SoestOmc AMIS evenement 26012017 Dennis van Soest
Omc AMIS evenement 26012017 Dennis van Soest
 

Dernier

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle OpenWorld Preview AMIS

  • 1. Frank Houweling AMIS preview Oracle Open World 2014 Real-World Load Testing of ADF Fusion Applications
  • 2. Frank Houweling •Frank Houweling •Senior Java / ADF specialist •Focus on performance diagnosis and performance management •Lead developer of the ADF Performance Monitor
  • 3. 3 Agenda •Why is testing important •Intro Apache JMeter and Oracle Load Testing (OLT) •Demo •Metrics analysis •Top 3 scalability problems and solutions
  • 4. 4 Why is load testing important - 1
  • 5. 5 Why is load testing important - 2 •Is very useful to test scalability and SLA –Avoid frustrated end-users –Avoid lost revenue
  • 6. 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
  • 7. 7 You need metrics to be in control and know what's going on
  • 8. 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
  • 9. 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.
  • 10. 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
  • 12. 12 Installing OATS •Current newest version: 12.4.0.1.0 •Download from OTN
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 17 Analysis load test metrics - 2 Monitor in Database EM Control during load test Example: High CPU Wait in Database EM Control
  • 18. 18 Agenda •Why is testing important •Intro Apache JMeter and Oracle Load Testing (OLT) •Demo •Metrics analysis •Top 3 scalability problems and solutions
  • 19. 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 !
  • 20. 20 Monitor ApplicationModule Pooling behavior; activations and passivations •What is the average, total, min and max execution time of activations and passivations?
  • 21. 21 What is the root cause of long passivations?
  • 22. 22 What is the root cause of long activations?
  • 23. 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 !
  • 24. 24 Common scalability problems - 3 Not enough database connections Solution: increase Maximum Capacity of datasource in WLS console
  • 25. 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
  • 26. 26 Measure number of database connections in database during load test (logged in as SYS or SYSDBA)
  • 27. 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 ?
  • 28. 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