SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Similaire à Oow2013 ef final_4_3

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
Ulrich Krause
 

Similaire à 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
 

Plus 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
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

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