ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Oow2013 ef final_4_3
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 ¨CXms:4G ¨CXmx: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
Ad

Recommended

PPTX
CapistranoÓëjenkins(hudson)ÔÚjava webÏîÄ¿ÖеÄʵ¼ù
crazycode t
?
PDF
GeeCON Prague 2017 - TestContainers
Anton Arhipov
?
PPTX
Shestakov Illia "The Sandbox Theory"
LogeekNightUkraine
?
PDF
Adf performance tuning tips slideshare
Vinay Kumar
?
PPTX
Tuning Java Servers
Srinath Perera
?
PDF
Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...
Alexandru Ersenie
?
PDF
Introduction to Java performance tuning
Marouane Gazanayi
?
PDF
Web Sphere Problem Determination Ext
Rohit Kelapure
?
PDF
Tuning Solr for Logs
Sematext Group, Inc.
?
PPT
Zookeeper Introduce
jhao niu
?
KEY
Edmedia 2010: How to describe multiple versions of the same
Joris Klerkx
?
PDF
Presentation alfonso romero
Alfonso E. Romero
?
PDF
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
Flink Forward
?
PDF
Let's talk about Garbage Collection
Haim Yadid
?
PPTX
[??] ??? ????? ?? ?? ??? ????!
Wooseop Kim
?
PPTX
Java Hates Linux. Deal With It.
Greg Banks
?
PDF
Boyan Ivanov - latency, the #1 metric of your cloud
ShapeBlue
?
PDF
Apache ZooKeeper
Scott Leberknight
?
PDF
Solr 4 highlights - Mark Miller
lucenerevolution
?
PDF
Streaming Dataflow with Apache Flink
huguk
?
PDF
Shorten Device Boot Time for Automotive IVI and Navigation Systems
National Cheng Kung University
?
PDF
PuppetConf 2016: Multi-Tenant Puppet at Scale ¨C John Jawed, eBay, Inc.
Puppet
?
PPTX
How to Troubleshoot 9 Types of OutOfMemoryError Session
KumarNagaraju4
?
PPT
MC2: High-Performance Garbage Collection for Memory-Constrained Environments
Emery Berger
?
PDF
Tuning Solr for Logs: Presented by Radu Gheorghe, Sematext
Lucidworks
?
PDF
Cost-effective software reliability through autonomic tuning of system resources
Vincenzo De Florio
?
PPTX
How to Troubleshoot 9 Types of OutOfMemoryError
Tier1 app
?
PDF
Mastering Oracle ADF Bindings
Euegene Fedorenko
?
PDF
Hidden rocks in Oracle ADF
Euegene Fedorenko
?

More Related Content

Similar to Oow2013 ef final_4_3 (20)

PDF
Tuning Solr for Logs
Sematext Group, Inc.
?
PPT
Zookeeper Introduce
jhao niu
?
KEY
Edmedia 2010: How to describe multiple versions of the same
Joris Klerkx
?
PDF
Presentation alfonso romero
Alfonso E. Romero
?
PDF
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
Flink Forward
?
PDF
Let's talk about Garbage Collection
Haim Yadid
?
PPTX
[??] ??? ????? ?? ?? ??? ????!
Wooseop Kim
?
PPTX
Java Hates Linux. Deal With It.
Greg Banks
?
PDF
Boyan Ivanov - latency, the #1 metric of your cloud
ShapeBlue
?
PDF
Apache ZooKeeper
Scott Leberknight
?
PDF
Solr 4 highlights - Mark Miller
lucenerevolution
?
PDF
Streaming Dataflow with Apache Flink
huguk
?
PDF
Shorten Device Boot Time for Automotive IVI and Navigation Systems
National Cheng Kung University
?
PDF
PuppetConf 2016: Multi-Tenant Puppet at Scale ¨C John Jawed, eBay, Inc.
Puppet
?
PPTX
How to Troubleshoot 9 Types of OutOfMemoryError Session
KumarNagaraju4
?
PPT
MC2: High-Performance Garbage Collection for Memory-Constrained Environments
Emery Berger
?
PDF
Tuning Solr for Logs: Presented by Radu Gheorghe, Sematext
Lucidworks
?
PDF
Cost-effective software reliability through autonomic tuning of system resources
Vincenzo De Florio
?
PPTX
How to Troubleshoot 9 Types of OutOfMemoryError
Tier1 app
?
Tuning Solr for Logs
Sematext Group, Inc.
?
Zookeeper Introduce
jhao niu
?
Edmedia 2010: How to describe multiple versions of the same
Joris Klerkx
?
Presentation alfonso romero
Alfonso E. Romero
?
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
Flink Forward
?
Let's talk about Garbage Collection
Haim Yadid
?
[??] ??? ????? ?? ?? ??? ????!
Wooseop Kim
?
Java Hates Linux. Deal With It.
Greg Banks
?
Boyan Ivanov - latency, the #1 metric of your cloud
ShapeBlue
?
Apache ZooKeeper
Scott Leberknight
?
Solr 4 highlights - Mark Miller
lucenerevolution
?
Streaming Dataflow with Apache Flink
huguk
?
Shorten Device Boot Time for Automotive IVI and Navigation Systems
National Cheng Kung University
?
PuppetConf 2016: Multi-Tenant Puppet at Scale ¨C John Jawed, eBay, Inc.
Puppet
?
How to Troubleshoot 9 Types of OutOfMemoryError Session
KumarNagaraju4
?
MC2: High-Performance Garbage Collection for Memory-Constrained Environments
Emery Berger
?
Tuning Solr for Logs: Presented by Radu Gheorghe, Sematext
Lucidworks
?
Cost-effective software reliability through autonomic tuning of system resources
Vincenzo De Florio
?
How to Troubleshoot 9 Types of OutOfMemoryError
Tier1 app
?

More from Euegene Fedorenko (6)

PDF
Mastering Oracle ADF Bindings
Euegene Fedorenko
?
PDF
Hidden rocks in Oracle ADF
Euegene Fedorenko
?
PDF
Deep dive into Oracle ADF
Euegene Fedorenko
?
PDF
Efedorenko.deepdive.presentation
Euegene Fedorenko
?
PPTX
Ood 2013 copy
Euegene Fedorenko
?
PDF
Con5623 pdf 5623_001
Euegene Fedorenko
?
Mastering Oracle ADF Bindings
Euegene Fedorenko
?
Hidden rocks in Oracle ADF
Euegene Fedorenko
?
Deep dive into Oracle ADF
Euegene Fedorenko
?
Efedorenko.deepdive.presentation
Euegene Fedorenko
?
Ood 2013 copy
Euegene Fedorenko
?
Con5623 pdf 5623_001
Euegene Fedorenko
?
Ad

Recently uploaded (20)

PDF
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
?
PDF
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
?
PDF
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
?
PDF
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
?
PDF
"Scaling in space and time with Temporal", Andriy Lupa.pdf
Fwdays
?
PDF
From Manual to Auto Searching- FME in the Driver's Seat
Safe Software
?
PPTX
Wenn alles versagt - IBM Tape sch¨¹tzt, was z?hlt! Und besonders mit dem neust...
Josef Weingand
?
PPTX
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
?
PDF
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Priyanka Aash
?
PDF
Quantum AI: Where Impossible Becomes Probable
Saikat Basu
?
PPTX
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
?
PPTX
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
?
PPTX
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
Fwdays
?
PDF
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
?
PDF
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
?
PDF
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) ºÝºÝߣs
Ravi Tamada
?
PDF
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
?
PDF
¡°MPU+: A Transformative Solution for Next-Gen AI at the Edge,¡± a Presentation...
Edge AI and Vision Alliance
?
PDF
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
?
PDF
Database Benchmarking for Performance Masterclass: Session 2 - Data Modeling ...
ScyllaDB
?
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
?
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
?
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
?
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
?
"Scaling in space and time with Temporal", Andriy Lupa.pdf
Fwdays
?
From Manual to Auto Searching- FME in the Driver's Seat
Safe Software
?
Wenn alles versagt - IBM Tape sch¨¹tzt, was z?hlt! Und besonders mit dem neust...
Josef Weingand
?
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
?
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Priyanka Aash
?
Quantum AI: Where Impossible Becomes Probable
Saikat Basu
?
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
?
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
?
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
Fwdays
?
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
?
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
?
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) ºÝºÝߣs
Ravi Tamada
?
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
?
¡°MPU+: A Transformative Solution for Next-Gen AI at the Edge,¡± a Presentation...
Edge AI and Vision Alliance
?
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
?
Database Benchmarking for Performance Masterclass: Session 2 - Data Modeling ...
ScyllaDB
?
Ad

Oow2013 ef final_4_3

  • 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 ¨CXms:4G ¨CXmx: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