• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Oow2013 ef final_4_3
 

Oow2013 ef final_4_3

on

  • 694 views

 

Statistics

Views

Total Views
694
Views on SlideShare
694
Embed Views
0

Actions

Likes
1
Downloads
9
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Oow2013 ef final_4_3 Oow2013 ef final_4_3 Presentation Transcript

    • 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