Oracle Solution Center. Linlithgow, Scotland, UK.
JetB2. Core Banking System.
ADF Faces, ADF Controller, ADF Model, ADF BC
JDeveloper R2 18.104.22.168.0
Oracle WebLogic 10.3.6
Jrockit VM R28.2.5-4.1.0
Oracle RDBMS 11g R2
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
Oracle Application Testing Suite
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
Gathering operating system statistics
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
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)
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
What is good for ADF?
Sensitive to long pauses?
A lot of temporary objects?
Understanding Memory Management
Tuning the Memory Management System
JRockit GC in Action