Your SlideShare is downloading. ×
0
About me

Eugene Fedorenko
adfpractice-fedor.blogspot.com

2
Performance Testing
Base

Oracle Solution Center. Linlithgow, Scotland, UK.

Application

JetB2. Core Banking System.
ADF ...
Tools
Oracle Application Testing Suite
Load generating
Response time monitoring

JRockit Mission Control

Online JVM monit...
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 Referenc...
Garbage Collector
0

-Xmx
Mark

Sweep

Reachable
Eugene Fedorenko
adfpractice-fedor.blogspot.com

Softly Reachable

Weakly...
Parallel Garbage Collector
Frequent garbage collections (every ~40s)
Long pauses (~8s and longer)
Frequent and huge peaks ...
Generational Parallel Garbage Collector
Nursery (Young Generation)

Tenured (Old Generation)

0

-Xmx

Xns

Young Collecti...
Generational Parallel Garbage Collector
Frequent young GC (every ~8s). Rare old GC (every ~3min)
Short pauses for young GC...
Concurrent Garbage Collector: Mark
Xns
-Xmx

1. Initial Marking

2. Concurrent Marking

3. Precleaning

4. Final Marking

...
Concurrent Garbage Collector: Sweep
Xns
-Xmx

1. Sweep first half

2. Switch halves

3. Sweep second half

4. Synchronize
...
Generational Concurrent Garbage Collector
Frequent young GC (every ~8s). Rare old GC (every ~2min 40s)
Short pauses for yo...
Lessons
Parallel Garbage Collector

High performance between collections
Short collection duration but long pauses
Good fo...
What is good for ADF?
Sensitive to long pauses?
No

No

Single Concurrent

Yes

A lot of temporary objects?

Yes

Single P...
Useful Links
Understanding Memory Management
http://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/geninfo/diagnos/garba...
Mission Completed

Eugene Fedorenko
adfpractice-fedor.blogspot.com

18
Oow2013 ef final_4_3
Upcoming SlideShare
Loading in...5
×

Oow2013 ef final_4_3

674

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
674
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
17
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Oow2013 ef final_4_3"

  1. 1. About me Eugene Fedorenko adfpractice-fedor.blogspot.com 2
  2. 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
  3. 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
  4. 4. Mission Eugene Fedorenko adfpractice-fedor.blogspot.com 5
  5. 5. Let’s go! Eugene Fedorenko adfpractice-fedor.blogspot.com 6
  6. 6. The Heap 0 -Xms -Xmx java –Xms:4G –Xmx:8G Hard Reference Eugene Fedorenko adfpractice-fedor.blogspot.com Soft Reference Weak Reference 7
  7. 7. Garbage Collector 0 -Xmx Mark Sweep Reachable Eugene Fedorenko adfpractice-fedor.blogspot.com Softly Reachable Weakly Reachable Garbage 8
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 17. Mission Completed Eugene Fedorenko adfpractice-fedor.blogspot.com 18
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×