SlideShare a Scribd company logo
1 of 18
About me

Eugene Fedorenko
adfpractice-fedor.blogspot.com

2
Performance Testing
Base

Oracle Solution Center. Linlithgow, Scotland, UK.

Application

JetB2. Core Banking System.
ADF Faces, ADF Controller, ADF Model, ADF BC
JDeveloper R2 11.1.2.3.0

Application Server

Oracle WebLogic 10.3.6
Jrockit VM R28.2.5-4.1.0

Database

Oracle RDBMS 11g R2

Targets

Maximum number of users per JVM, per Box
Minimum number of database connections
Detect memory leaks
Check application scalability
Tune JVM to get the best response time
Get 6000 simultaneously working users

Eugene Fedorenko
adfpractice-fedor.blogspot.com

3
Tools
Oracle Application Testing Suite
Load generating
Response time monitoring

JRockit Mission Control

Online JVM monitoring and flight recording

JRockit Memory Leak Detector
Analyzing heap contents
Detecting memory leaks

Oracle Enterprise Manager Cloud Control
Monitoring database connections
Detecting heavy SQL queries

Oracle Diagnostic Log Analyzer

Exploring request structure and SQL executions

NMON

Gathering operating system statistics

Eugene Fedorenko
adfpractice-fedor.blogspot.com

4
Mission

Eugene Fedorenko
adfpractice-fedor.blogspot.com

5
Let’s go!

Eugene Fedorenko
adfpractice-fedor.blogspot.com

6
The Heap
0

-Xms

-Xmx
java –Xms:4G –Xmx:8G

Hard Reference
Eugene Fedorenko
adfpractice-fedor.blogspot.com

Soft Reference

Weak Reference
7
Garbage Collector
0

-Xmx
Mark

Sweep

Reachable
Eugene Fedorenko
adfpractice-fedor.blogspot.com

Softly Reachable

Weakly Reachable

Garbage
8
Parallel Garbage Collector
Frequent garbage collections (every ~40s)
Long pauses (~8s and longer)
Frequent and huge peaks in response time line

Eugene Fedorenko
adfpractice-fedor.blogspot.com

9
Generational Parallel Garbage Collector
Nursery (Young Generation)

Tenured (Old Generation)

0

-Xmx

Xns

Young Collection

Old Collection

Reachable
Eugene Fedorenko
adfpractice-fedor.blogspot.com

Softly Reachable

Weakly Reachable

Garbage
10
Generational Parallel Garbage Collector
Frequent young GC (every ~8s). Rare old GC (every ~3min)
Short pauses for young GC (<300ms). Quite long pauses for old GC (~3.5s-4s).
Infrequent but still high peaks in response time line

Eugene Fedorenko
adfpractice-fedor.blogspot.com

11
Concurrent Garbage Collector: Mark
Xns
-Xmx

1. Initial Marking

2. Concurrent Marking

3. Precleaning

4. Final Marking

Reachable
Eugene Fedorenko
adfpractice-fedor.blogspot.com

Softly Reachable

Weakly Reachable

Garbage
12
Concurrent Garbage Collector: Sweep
Xns
-Xmx

1. Sweep first half

2. Switch halves

3. Sweep second half

4. Synchronize

Reachable
Eugene Fedorenko
adfpractice-fedor.blogspot.com

Softly Reachable

Weakly Reachable

Garbage
13
Generational Concurrent Garbage Collector
Frequent young GC (every ~8s). Rare old GC (every ~2min 40s)
Short pauses for young GC (<300ms). Short pauses for old GC (<700ms).
Long old GC duration (~12s)

Eugene Fedorenko
adfpractice-fedor.blogspot.com

14
Lessons
Parallel Garbage Collector

High performance between collections
Short collection duration but long pauses
Good for applications with high throughput requirement. Batch processing

Concurrent Garbage Collector

Sharing CPU between GC and Java threads
Long collection duration but short pauses
Good for applications sensitive to long pauses. Transaction based systems

Single-generational Garbage Collector

All garbage is collected at once
Good for set of stable long living objects

Two-generational Garbage Collector

Short-living objects live short
Good for applications with large number of temporary objects

Eugene Fedorenko
adfpractice-fedor.blogspot.com

15
What is good for ADF?
Sensitive to long pauses?
No

No

Single Concurrent

Yes

A lot of temporary objects?

Yes

Single Parallel

-Xgc:singlecon

-Xgc:singlepar

Generational Concurrent

Generational Parallel

-Xgc:gencon

-Xgc:genpar

Eugene Fedorenko
adfpractice-fedor.blogspot.com

16
Useful Links
Understanding Memory Management
http://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/geninfo/diagnos/garbage_colle
ct.html

Tuning the Memory Management System
http://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/geninfo/diagnos/m
emman.html

JRockit GC in Action
http://java.dzone.com/articles/jrockit-gc-action

Eugene Fedorenko
adfpractice-fedor.blogspot.com

17
Mission Completed

Eugene Fedorenko
adfpractice-fedor.blogspot.com

18

More Related Content

Similar to Oow2013 ef final_4_3

Zookeeper Introduce
Zookeeper IntroduceZookeeper Introduce
Zookeeper Introducejhao niu
 
Edmedia 2010: How to describe multiple versions of the same
Edmedia 2010: How to describe multiple versions of the sameEdmedia 2010: How to describe multiple versions of the same
Edmedia 2010: How to describe multiple versions of the sameJoris Klerkx
 
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...Flink Forward
 
Let's talk about Garbage Collection
Let's talk about Garbage CollectionLet's talk about Garbage Collection
Let's talk about Garbage CollectionHaim Yadid
 
[충격] 당신의 안드로이드 앱이 느린 이유가 있다??!
[충격] 당신의 안드로이드 앱이 느린 이유가 있다??![충격] 당신의 안드로이드 앱이 느린 이유가 있다??!
[충격] 당신의 안드로이드 앱이 느린 이유가 있다??!Wooseop Kim
 
Java Hates Linux. Deal With It.
Java Hates Linux.  Deal With It.Java Hates Linux.  Deal With It.
Java Hates Linux. Deal With It.Greg Banks
 
Boyan Ivanov - latency, the #1 metric of your cloud
Boyan Ivanov - latency, the #1 metric of your cloudBoyan Ivanov - latency, the #1 metric of your cloud
Boyan Ivanov - latency, the #1 metric of your cloudShapeBlue
 
Solr 4 highlights - Mark Miller
Solr 4 highlights - Mark MillerSolr 4 highlights - Mark Miller
Solr 4 highlights - Mark Millerlucenerevolution
 
Streaming Dataflow with Apache Flink
Streaming Dataflow with Apache Flink Streaming Dataflow with Apache Flink
Streaming Dataflow with Apache Flink huguk
 
Shorten Device Boot Time for Automotive IVI and Navigation Systems
Shorten Device Boot Time for Automotive IVI and Navigation SystemsShorten Device Boot Time for Automotive IVI and Navigation Systems
Shorten Device Boot Time for Automotive IVI and Navigation SystemsNational Cheng Kung University
 
PuppetConf 2016: Multi-Tenant Puppet at Scale – John Jawed, eBay, Inc.
PuppetConf 2016: Multi-Tenant Puppet at Scale – John Jawed, eBay, Inc.PuppetConf 2016: Multi-Tenant Puppet at Scale – John Jawed, eBay, Inc.
PuppetConf 2016: Multi-Tenant Puppet at Scale – John Jawed, eBay, Inc.Puppet
 
MC2: High-Performance Garbage Collection for Memory-Constrained Environments
MC2: High-Performance Garbage Collection for Memory-Constrained EnvironmentsMC2: High-Performance Garbage Collection for Memory-Constrained Environments
MC2: High-Performance Garbage Collection for Memory-Constrained EnvironmentsEmery Berger
 
Tuning Solr for Logs: Presented by Radu Gheorghe, Sematext
Tuning Solr for Logs: Presented by Radu Gheorghe, SematextTuning Solr for Logs: Presented by Radu Gheorghe, Sematext
Tuning Solr for Logs: Presented by Radu Gheorghe, SematextLucidworks
 
Cost-effective software reliability through autonomic tuning of system resources
Cost-effective software reliability through autonomic tuning of system resourcesCost-effective software reliability through autonomic tuning of system resources
Cost-effective software reliability through autonomic tuning of system resourcesVincenzo De Florio
 
Life in the fast lane. Full speed XPages
Life in the fast lane. Full speed XPagesLife in the fast lane. Full speed XPages
Life in the fast lane. Full speed XPagesUlrich Krause
 

Similar to Oow2013 ef final_4_3 (20)

Tuning Solr for Logs
Tuning Solr for LogsTuning Solr for Logs
Tuning Solr for Logs
 
Zookeeper Introduce
Zookeeper IntroduceZookeeper Introduce
Zookeeper Introduce
 
Edmedia 2010: How to describe multiple versions of the same
Edmedia 2010: How to describe multiple versions of the sameEdmedia 2010: How to describe multiple versions of the same
Edmedia 2010: How to describe multiple versions of the same
 
Presentation alfonso romero
Presentation alfonso romeroPresentation alfonso romero
Presentation alfonso romero
 
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
 
Let's talk about Garbage Collection
Let's talk about Garbage CollectionLet's talk about Garbage Collection
Let's talk about Garbage Collection
 
[충격] 당신의 안드로이드 앱이 느린 이유가 있다??!
[충격] 당신의 안드로이드 앱이 느린 이유가 있다??![충격] 당신의 안드로이드 앱이 느린 이유가 있다??!
[충격] 당신의 안드로이드 앱이 느린 이유가 있다??!
 
Java Hates Linux. Deal With It.
Java Hates Linux.  Deal With It.Java Hates Linux.  Deal With It.
Java Hates Linux. Deal With It.
 
Boyan Ivanov - latency, the #1 metric of your cloud
Boyan Ivanov - latency, the #1 metric of your cloudBoyan Ivanov - latency, the #1 metric of your cloud
Boyan Ivanov - latency, the #1 metric of your cloud
 
Apache ZooKeeper
Apache ZooKeeperApache ZooKeeper
Apache ZooKeeper
 
Reflink
ReflinkReflink
Reflink
 
Solr 4 highlights - Mark Miller
Solr 4 highlights - Mark MillerSolr 4 highlights - Mark Miller
Solr 4 highlights - Mark Miller
 
Streaming Dataflow with Apache Flink
Streaming Dataflow with Apache Flink Streaming Dataflow with Apache Flink
Streaming Dataflow with Apache Flink
 
Shorten Device Boot Time for Automotive IVI and Navigation Systems
Shorten Device Boot Time for Automotive IVI and Navigation SystemsShorten Device Boot Time for Automotive IVI and Navigation Systems
Shorten Device Boot Time for Automotive IVI and Navigation Systems
 
PuppetConf 2016: Multi-Tenant Puppet at Scale – John Jawed, eBay, Inc.
PuppetConf 2016: Multi-Tenant Puppet at Scale – John Jawed, eBay, Inc.PuppetConf 2016: Multi-Tenant Puppet at Scale – John Jawed, eBay, Inc.
PuppetConf 2016: Multi-Tenant Puppet at Scale – John Jawed, eBay, Inc.
 
MC2: High-Performance Garbage Collection for Memory-Constrained Environments
MC2: High-Performance Garbage Collection for Memory-Constrained EnvironmentsMC2: High-Performance Garbage Collection for Memory-Constrained Environments
MC2: High-Performance Garbage Collection for Memory-Constrained Environments
 
Tuning Solr for Logs: Presented by Radu Gheorghe, Sematext
Tuning Solr for Logs: Presented by Radu Gheorghe, SematextTuning Solr for Logs: Presented by Radu Gheorghe, Sematext
Tuning Solr for Logs: Presented by Radu Gheorghe, Sematext
 
Cost-effective software reliability through autonomic tuning of system resources
Cost-effective software reliability through autonomic tuning of system resourcesCost-effective software reliability through autonomic tuning of system resources
Cost-effective software reliability through autonomic tuning of system resources
 
AEO Training - 2023.pdf
AEO Training - 2023.pdfAEO Training - 2023.pdf
AEO Training - 2023.pdf
 
Life in the fast lane. Full speed XPages
Life in the fast lane. Full speed XPagesLife in the fast lane. Full speed XPages
Life in the fast lane. Full speed XPages
 

More from Euegene Fedorenko

More from Euegene Fedorenko (6)

Mastering Oracle ADF Bindings
Mastering Oracle ADF BindingsMastering Oracle ADF Bindings
Mastering Oracle ADF Bindings
 
Hidden rocks in Oracle ADF
Hidden rocks in Oracle ADFHidden rocks in Oracle ADF
Hidden rocks in Oracle ADF
 
Deep dive into Oracle ADF
Deep dive into Oracle ADFDeep dive into Oracle ADF
Deep dive into Oracle ADF
 
Efedorenko.deepdive.presentation
Efedorenko.deepdive.presentationEfedorenko.deepdive.presentation
Efedorenko.deepdive.presentation
 
Ood 2013 copy
Ood 2013 copyOod 2013 copy
Ood 2013 copy
 
Con5623 pdf 5623_001
Con5623 pdf 5623_001Con5623 pdf 5623_001
Con5623 pdf 5623_001
 

Recently uploaded

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
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 interpreternaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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 productivityPrincipled Technologies
 
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)wesley chun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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 organizationRadu Cotescu
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
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...Enterprise Knowledge
 
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...Miguel Araújo
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
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 textsMaria Levchenko
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
[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.pdfhans926745
 
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 Servicegiselly40
 

Recently uploaded (20)

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
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)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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...
 
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...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
[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
 
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
 

Oow2013 ef final_4_3

  • 1.
  • 3. Performance Testing Base Oracle Solution Center. Linlithgow, Scotland, UK. Application JetB2. Core Banking System. ADF Faces, ADF Controller, ADF Model, ADF BC JDeveloper R2 11.1.2.3.0 Application Server Oracle WebLogic 10.3.6 Jrockit VM R28.2.5-4.1.0 Database Oracle RDBMS 11g R2 Targets Maximum number of users per JVM, per Box Minimum number of database connections Detect memory leaks Check application scalability Tune JVM to get the best response time Get 6000 simultaneously working users Eugene Fedorenko adfpractice-fedor.blogspot.com 3
  • 4. Tools Oracle Application Testing Suite Load generating Response time monitoring JRockit Mission Control Online JVM monitoring and flight recording JRockit Memory Leak Detector Analyzing heap contents Detecting memory leaks Oracle Enterprise Manager Cloud Control Monitoring database connections Detecting heavy SQL queries Oracle Diagnostic Log Analyzer Exploring request structure and SQL executions NMON Gathering operating system statistics Eugene Fedorenko adfpractice-fedor.blogspot.com 4
  • 7. The Heap 0 -Xms -Xmx java –Xms:4G –Xmx:8G Hard Reference Eugene Fedorenko adfpractice-fedor.blogspot.com Soft Reference Weak Reference 7
  • 9. Parallel Garbage Collector Frequent garbage collections (every ~40s) Long pauses (~8s and longer) Frequent and huge peaks in response time line Eugene Fedorenko adfpractice-fedor.blogspot.com 9
  • 10. Generational Parallel Garbage Collector Nursery (Young Generation) Tenured (Old Generation) 0 -Xmx Xns Young Collection Old Collection Reachable Eugene Fedorenko adfpractice-fedor.blogspot.com Softly Reachable Weakly Reachable Garbage 10
  • 11. Generational Parallel Garbage Collector Frequent young GC (every ~8s). Rare old GC (every ~3min) Short pauses for young GC (<300ms). Quite long pauses for old GC (~3.5s-4s). Infrequent but still high peaks in response time line Eugene Fedorenko adfpractice-fedor.blogspot.com 11
  • 12. Concurrent Garbage Collector: Mark Xns -Xmx 1. Initial Marking 2. Concurrent Marking 3. Precleaning 4. Final Marking Reachable Eugene Fedorenko adfpractice-fedor.blogspot.com Softly Reachable Weakly Reachable Garbage 12
  • 13. Concurrent Garbage Collector: Sweep Xns -Xmx 1. Sweep first half 2. Switch halves 3. Sweep second half 4. Synchronize Reachable Eugene Fedorenko adfpractice-fedor.blogspot.com Softly Reachable Weakly Reachable Garbage 13
  • 14. Generational Concurrent Garbage Collector Frequent young GC (every ~8s). Rare old GC (every ~2min 40s) Short pauses for young GC (<300ms). Short pauses for old GC (<700ms). Long old GC duration (~12s) Eugene Fedorenko adfpractice-fedor.blogspot.com 14
  • 15. Lessons Parallel Garbage Collector High performance between collections Short collection duration but long pauses Good for applications with high throughput requirement. Batch processing Concurrent Garbage Collector Sharing CPU between GC and Java threads Long collection duration but short pauses Good for applications sensitive to long pauses. Transaction based systems Single-generational Garbage Collector All garbage is collected at once Good for set of stable long living objects Two-generational Garbage Collector Short-living objects live short Good for applications with large number of temporary objects Eugene Fedorenko adfpractice-fedor.blogspot.com 15
  • 16. What is good for ADF? Sensitive to long pauses? No No Single Concurrent Yes A lot of temporary objects? Yes Single Parallel -Xgc:singlecon -Xgc:singlepar Generational Concurrent Generational Parallel -Xgc:gencon -Xgc:genpar Eugene Fedorenko adfpractice-fedor.blogspot.com 16
  • 17. Useful Links Understanding Memory Management http://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/geninfo/diagnos/garbage_colle ct.html Tuning the Memory Management System http://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/geninfo/diagnos/m emman.html JRockit GC in Action http://java.dzone.com/articles/jrockit-gc-action Eugene Fedorenko adfpractice-fedor.blogspot.com 17