SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Semelhante a 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
 

Semelhante a 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
 

Mais de Euegene Fedorenko

Mais de 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
 

Último

MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 

Último (20)

MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 

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