SlideShare a Scribd company logo
1 of 35
© C2B2 Consulting Limited 2013
All Rights Reserved
Oracle SOA Suite 11g
Performance Tuning
Matt Brasier
C2B2 Consulting
© C2B2 Consulting Limited 2013
All Rights Reserved
Who am I?
• Head of consulting at C2B2
• 12 years experience with application servers
– WebLogic 5.1 to present day
• Consulting with C2B2 since 2006
– BEA Professional services
– Red Hat Global Services
– SME start ups to UK Govt
• Author of SOA Suite 11g performance tuning cookbook
© C2B2 Consulting Limited 2013
All Rights Reserved
Agenda
• Performance and SOA Suite
• A performance tuning methodology for SOA
Suite
• Common SOA Suite performance problems
• Questions
© C2B2 Consulting Limited 2013
All Rights Reserved
PERFORMANCE AND SOA SUITE
Key challenges in SOA Suite performance
© C2B2 Consulting Limited 2013
All Rights Reserved
Key Challenges
• Fundamental to many
organisations SOA
infrastructure
– It needs to work invisibly
and quietly
– Plumbing
• Hard to test
– Requirements vary
significantly between
applications
• Limited documentation
© C2B2 Consulting Limited 2013
All Rights Reserved
Key Challenges
• Different components have different uses
– Different customers use different components
– There is no single answer to tuning such a wide
range of products
• Technologies
– BPM
– BPEL
– Mediator
– BAM
– OSB
© C2B2 Consulting Limited 2013
All Rights Reserved
Fundamental Nature
• A message processing pipeline
– Data size and quality has a large impact on
performance
• Frequent small messages vs infrequent large ones
• A Java application
– Subject to garbage collection and other JVM
features
© C2B2 Consulting Limited 2013
All Rights Reserved
Goals
• Out of the box, Oracle SOA Suite is tuned for
developer productivity.
• Tune to remove bottlenecks
– Performance tuning where there is no bottleneck
has no result
• Maximise performance and availability with
existing infrastructure
© C2B2 Consulting Limited 2013
All Rights Reserved
A PERFORMANCE TUNING
METHODOLOGY FOR SOA SUITE
How do we do this?
© C2B2 Consulting Limited 2013
All Rights Reserved
Methodolody
• Treat it the same as any other Java application
© C2B2 Consulting Limited 2013
All Rights Reserved
A Science and an Art
Test
Identify Bottleneck
Identify Cause
Eliminate Bottleneck
© C2B2 Consulting Limited 2013
All Rights Reserved
Testing
• Use a proper test harness
• Design users tests that accurately simulate
user behaviour
– All of it, at once
– 10000 users logging in, then out of a site, over and
over is not representative of your load
• Use a sufficiently powerful load generation
capability
– Don’t test the performance of your load generator
© C2B2 Consulting Limited 2013
All Rights Reserved
Monitoring
• Goes hand-in-hand with testing
• Testing is not a pass/fail activity
– How close was the system to failing?
– What happens if I double the load?
– Which components are likely to fail first?
• Do not view your system as a black box
© C2B2 Consulting Limited 2013
All Rights Reserved
Monitoring
• A JMX based
monitoring framework
is essential
– Memory stats (inc GC)
– Connection pool stats
– JMS queue stats
– Transaction stats
– Data
• Not just CPU% and
Memory%
© C2B2 Consulting Limited 2013
All Rights Reserved
Identify Bottleneck
• Use the monitoring as a
guide
• What resource is
constrained?
– CPU
– Memory
– Locks
– Bandwidth
– Storage
– Resource pools
© C2B2 Consulting Limited 2013
All Rights Reserved
Identify Cause
• Now you know what is bottlenecked, but
why?
– Bad code
– Sub-optimal setting
– Data overload
– Data structure
– Insufficient resources
© C2B2 Consulting Limited 2013
All Rights Reserved
Useful tools
• WebLogic console
• Enterprise Manager
• JStack
• JStat
• JVisualVM
• JRockit Mission Control
(JRMC)
© C2B2 Consulting Limited 2013
All Rights Reserved
Identify Solution
• The solution depends
on the cause
– Configuration changes
– Code changes
– More hardware!*
• * Beware anyone who
starts out with this
assumption
© C2B2 Consulting Limited 2013
All Rights Reserved
Implement solution
• Implement the solution
– In an environment where the problem could be
reproduced
• Test again
– Has the bottleneck gone away?
– Is there a new bottleneck?
© C2B2 Consulting Limited 2013
All Rights Reserved
Applying the methodology
• Bottom up
– Work from the CPU upwards to find bottleneck
• Treat SOA Suite as any other Java application
at this stage
– Key suspects such as Garbage Collection and
locking
• Stop when you are meeting your targets
– You can always go faster
• Subject to the speed of light in copper cable
© C2B2 Consulting Limited 2013
All Rights Reserved
COMMON SOA SUITE
PERFORMANCE PROBLEMS
Where to start?
© C2B2 Consulting Limited 2013
All Rights Reserved
Common Problems
• Excessive garbage
collection
• Thread pools
• Database access
© C2B2 Consulting Limited 2013
All Rights Reserved
Garbage Collection
• SOA Suite applications
vary in how much data
they have to process
and how fast
© C2B2 Consulting Limited 2013
All Rights Reserved
• However it is often the case that they process
lots of XML
– XML is object creation intensive
– Results in garbage
• Garbage collection is based on the JVM
– Hotspot/JRockit
© C2B2 Consulting Limited 2013
All Rights Reserved
Garbage Collection
• Use tools like visualvm, jrmc or jstat to identify
garbage collection problems
– Garbage collection pause times of > 1s per minute
• Tune the garbage collector
– Parallel is a good starting point
– Reduce the number and duration of full GC pauses
• Tune the memory pools
– Generational memory
© C2B2 Consulting Limited 2013
All Rights Reserved
Tools
• Jstat
– Jstat –gccause <pid>
• JVisualVM
© C2B2 Consulting Limited 2013
All Rights Reserved
Thread Pools
• There are a lot of
thread pools
– Use a tool to see which
thread pools are
exhusted
• JStack
• JVisualVM
• Etc
• WebLogic thread pool
© C2B2 Consulting Limited 2013
All Rights Reserved
Thread Pools
• BPEL/BPMN thread pools
– Dispatcher Invoke threads
• Process requests from external sources
– Dispatcher engine threads
• Process asynchronous callback responses
– Dispatcher System threads
• Housekeeping tasks
© C2B2 Consulting Limited 2013
All Rights Reserved
Database access
• Oracle SOA Suite makes
heavy use of the
database
– Persistence of data
– Metadata
– Auditing and logging
© C2B2 Consulting Limited 2013
All Rights Reserved
Database access
• Database access can be exponential with load
– Each new user adds persistence load, auditing
load, metadata lookups etc.
• Reduce the amount of database access to
improve performance
– Reduce auditing
– Reduce persistence of in-flight processes
© C2B2 Consulting Limited 2013
All Rights Reserved
Database access
• Reduce persistence
– InMemoryOptimisation (transient processes)
– Reduce audit threshold
– Reduce completion persist level
– Increase audit trail size threshold
– Increase large document threshold
– Many many more
© C2B2 Consulting Limited 2013
All Rights Reserved
Database access
• Tune the database
– Purge old BPEL
processes
– General database tuning
© C2B2 Consulting Limited 2013
All Rights Reserved
Summary
• Treat SOA Suite as any other java EE
application
– One that processes a lot of XML
• Reduce database access
• Manage memory correctly
• Tune thread pools
© C2B2 Consulting Limited 2013
All Rights Reserved
FOCUS TUNING ONLY WHERE IT IS
REQUIRED
You can’t make it faster if it is not a bottleneck
© C2B2 Consulting Limited 2013
All Rights Reserved
Questions?
• Thankyou for your time
mbrasier@c2b2.co.uk @c2b2consulting, @mbrasier, www.c2b2.co.uk

More Related Content

What's hot

Stay productive while slicing up the monolith
Stay productive while slicing up the monolith Stay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 

What's hot (20)

Architecting for failure - Why are distributed systems hard?
Architecting for failure - Why are distributed systems hard?Architecting for failure - Why are distributed systems hard?
Architecting for failure - Why are distributed systems hard?
 
What's New in the Ambassador Edge Stack 1.0?
What's New in the Ambassador Edge Stack 1.0? What's New in the Ambassador Edge Stack 1.0?
What's New in the Ambassador Edge Stack 1.0?
 
Oracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy featuresOracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy features
 
High performance java ee with j cache and cdi
High performance java ee with j cache and cdiHigh performance java ee with j cache and cdi
High performance java ee with j cache and cdi
 
Oracle SOA suite and Coherence dehydration
Oracle SOA suite and  Coherence dehydrationOracle SOA suite and  Coherence dehydration
Oracle SOA suite and Coherence dehydration
 
Using galera replication to create geo distributed clusters on the wan
Using galera replication to create geo distributed clusters on the wanUsing galera replication to create geo distributed clusters on the wan
Using galera replication to create geo distributed clusters on the wan
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolith Stay productive while slicing up the monolith
Stay productive while slicing up the monolith
 
KoprowskiT_SQLSat409_MaintenancePlansForBeginners
KoprowskiT_SQLSat409_MaintenancePlansForBeginnersKoprowskiT_SQLSat409_MaintenancePlansForBeginners
KoprowskiT_SQLSat409_MaintenancePlansForBeginners
 
WSO2 Message Broker - Product Overview
WSO2 Message Broker - Product OverviewWSO2 Message Broker - Product Overview
WSO2 Message Broker - Product Overview
 
What's New in WildFly 9?
What's New in WildFly 9?What's New in WildFly 9?
What's New in WildFly 9?
 
How to create a useful my sql bug report fosdem 2019
How to create a useful my sql bug report   fosdem 2019How to create a useful my sql bug report   fosdem 2019
How to create a useful my sql bug report fosdem 2019
 
Training Slides: 101 - Basics: Tungsten Clustering - Under The Hood
Training Slides: 101 - Basics: Tungsten Clustering - Under The HoodTraining Slides: 101 - Basics: Tungsten Clustering - Under The Hood
Training Slides: 101 - Basics: Tungsten Clustering - Under The Hood
 
Glass fish performance tuning tips from the field
Glass fish performance tuning tips from the fieldGlass fish performance tuning tips from the field
Glass fish performance tuning tips from the field
 
Scaling Systems: Architectures that grow
Scaling Systems: Architectures that growScaling Systems: Architectures that grow
Scaling Systems: Architectures that grow
 
Narayana 5: The premier open source transaction manager
Narayana 5: The premier open source transaction manager Narayana 5: The premier open source transaction manager
Narayana 5: The premier open source transaction manager
 
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cDeveloping Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
 
Security Best Practices for your Postgres Deployment
Security Best Practices for your Postgres DeploymentSecurity Best Practices for your Postgres Deployment
Security Best Practices for your Postgres Deployment
 
ActiveMQ 5.9.x new features
ActiveMQ 5.9.x new featuresActiveMQ 5.9.x new features
ActiveMQ 5.9.x new features
 
2020 pre fosdem mysql clone
2020 pre fosdem   mysql clone2020 pre fosdem   mysql clone
2020 pre fosdem mysql clone
 
Pub/Sub Messaging
Pub/Sub MessagingPub/Sub Messaging
Pub/Sub Messaging
 

Viewers also liked

어플리케이션 성능 최적화 기법
어플리케이션 성능 최적화 기법어플리케이션 성능 최적화 기법
어플리케이션 성능 최적화 기법
Daniel Kim
 

Viewers also liked (10)

CLOUD WIKI : 여러분이 궁금해 하는 클라우드의 모든 것!
CLOUD WIKI : 여러분이 궁금해 하는 클라우드의 모든 것!CLOUD WIKI : 여러분이 궁금해 하는 클라우드의 모든 것!
CLOUD WIKI : 여러분이 궁금해 하는 클라우드의 모든 것!
 
[Blt] 2014년 정부지원사업10월
[Blt] 2014년 정부지원사업10월[Blt] 2014년 정부지원사업10월
[Blt] 2014년 정부지원사업10월
 
애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기
애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기
애플리케이션 개발 단계에서의 성능 품질과 생산성 효율, 둘 다 잡기
 
Introducing SOA and Oracle SOA Suite 11g for Database Professionals
Introducing SOA and Oracle SOA Suite 11g for Database ProfessionalsIntroducing SOA and Oracle SOA Suite 11g for Database Professionals
Introducing SOA and Oracle SOA Suite 11g for Database Professionals
 
서버 아키텍쳐 입문
서버 아키텍쳐 입문서버 아키텍쳐 입문
서버 아키텍쳐 입문
 
서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해
 
practical perf testing - d2startup
practical perf testing - d2startuppractical perf testing - d2startup
practical perf testing - d2startup
 
Programming skills 1부
Programming skills 1부Programming skills 1부
Programming skills 1부
 
서버성능개선 류우림
서버성능개선 류우림서버성능개선 류우림
서버성능개선 류우림
 
어플리케이션 성능 최적화 기법
어플리케이션 성능 최적화 기법어플리케이션 성능 최적화 기법
어플리케이션 성능 최적화 기법
 

Similar to Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SIG Meeting

Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”
EPAM Systems
 
MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014
Dave Stokes
 

Similar to Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SIG Meeting (20)

WebLogic Stability; Detect and Analyse Stuck Threads
WebLogic Stability; Detect and Analyse Stuck ThreadsWebLogic Stability; Detect and Analyse Stuck Threads
WebLogic Stability; Detect and Analyse Stuck Threads
 
JBoss Architect Meetup - December 2013 - JBoss Fuse in Vodafone’s Global Inte...
JBoss Architect Meetup - December 2013 - JBoss Fuse in Vodafone’s Global Inte...JBoss Architect Meetup - December 2013 - JBoss Fuse in Vodafone’s Global Inte...
JBoss Architect Meetup - December 2013 - JBoss Fuse in Vodafone’s Global Inte...
 
DevOps / Agile Tools Seminar 2013
DevOps / Agile Tools Seminar 2013DevOps / Agile Tools Seminar 2013
DevOps / Agile Tools Seminar 2013
 
How Databases Work - for Developers, Accidental DBAs and Managers
How Databases Work - for Developers, Accidental DBAs and ManagersHow Databases Work - for Developers, Accidental DBAs and Managers
How Databases Work - for Developers, Accidental DBAs and Managers
 
Introduction to the IBM Java Tools
Introduction to the IBM Java ToolsIntroduction to the IBM Java Tools
Introduction to the IBM Java Tools
 
Get Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled ArchitecturesGet Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled Architectures
 
Get Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled Architectures Get Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled Architectures
 
ADF Performance Monitor
ADF Performance MonitorADF Performance Monitor
ADF Performance Monitor
 
The Real Scoop on Migrating from Oracle Databases
The Real Scoop on Migrating from Oracle DatabasesThe Real Scoop on Migrating from Oracle Databases
The Real Scoop on Migrating from Oracle Databases
 
GeeCon- 'www.NoSQL.com' by Mark Addy
GeeCon- 'www.NoSQL.com' by Mark Addy GeeCon- 'www.NoSQL.com' by Mark Addy
GeeCon- 'www.NoSQL.com' by Mark Addy
 
Oracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & TuningOracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & Tuning
 
Developer want change Ops want control - devops
Developer want change Ops want control - devopsDeveloper want change Ops want control - devops
Developer want change Ops want control - devops
 
1 architecture & design
1   architecture & design1   architecture & design
1 architecture & design
 
Resilience planning and how the empire strikes back
Resilience planning and how the empire strikes backResilience planning and how the empire strikes back
Resilience planning and how the empire strikes back
 
Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”
 
Expect the unexpected: Prepare for failures in microservices
Expect the unexpected: Prepare for failures in microservicesExpect the unexpected: Prepare for failures in microservices
Expect the unexpected: Prepare for failures in microservices
 
MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014
 
Building block development in managed hosting - Angelo Rossi, Manager, Comple...
Building block development in managed hosting - Angelo Rossi, Manager, Comple...Building block development in managed hosting - Angelo Rossi, Manager, Comple...
Building block development in managed hosting - Angelo Rossi, Manager, Comple...
 
A Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLA Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQL
 
Continuous Performance Monitoring of a Distributed Application [CON4730]
Continuous Performance Monitoring of a Distributed Application [CON4730]Continuous Performance Monitoring of a Distributed Application [CON4730]
Continuous Performance Monitoring of a Distributed Application [CON4730]
 

More from C2B2 Consulting

More from C2B2 Consulting (20)

Hands-on Performance Tuning Lab - Devoxx Poland
Hands-on Performance Tuning Lab - Devoxx PolandHands-on Performance Tuning Lab - Devoxx Poland
Hands-on Performance Tuning Lab - Devoxx Poland
 
Monitoring Oracle SOA Suite
Monitoring Oracle SOA SuiteMonitoring Oracle SOA Suite
Monitoring Oracle SOA Suite
 
Advanced queries on the Infinispan Data Grid
Advanced queries on the Infinispan Data Grid Advanced queries on the Infinispan Data Grid
Advanced queries on the Infinispan Data Grid
 
Building WebLogic Domains With WLST
Building WebLogic Domains With WLSTBuilding WebLogic Domains With WLST
Building WebLogic Domains With WLST
 
Hands-on Performance Workshop - The science of performance
Hands-on Performance Workshop - The science of performanceHands-on Performance Workshop - The science of performance
Hands-on Performance Workshop - The science of performance
 
Jsr107 come, code, cache, compute!
Jsr107 come, code, cache, compute!Jsr107 come, code, cache, compute!
Jsr107 come, code, cache, compute!
 
JBoss Clustering on OpenShift
JBoss Clustering on OpenShiftJBoss Clustering on OpenShift
JBoss Clustering on OpenShift
 
Dr. Low Latency or: How I Learned to Stop Worrying about Pauses and Love the ...
Dr. Low Latency or: How I Learned to Stop Worrying about Pauses and Love the ...Dr. Low Latency or: How I Learned to Stop Worrying about Pauses and Love the ...
Dr. Low Latency or: How I Learned to Stop Worrying about Pauses and Love the ...
 
Jax London 2013
Jax London 2013Jax London 2013
Jax London 2013
 
'Deploying with GlassFish & Docker'
'Deploying with GlassFish & Docker' 'Deploying with GlassFish & Docker'
'Deploying with GlassFish & Docker'
 
'JMS @ Data Grid? Hacking the Glassfish messaging for fun & profit'
'JMS @ Data Grid? Hacking the Glassfish messaging for fun & profit' 'JMS @ Data Grid? Hacking the Glassfish messaging for fun & profit'
'JMS @ Data Grid? Hacking the Glassfish messaging for fun & profit'
 
'New JMS features in GlassFish 4.0' by Nigel Deakin
'New JMS features in GlassFish 4.0' by Nigel Deakin'New JMS features in GlassFish 4.0' by Nigel Deakin
'New JMS features in GlassFish 4.0' by Nigel Deakin
 
Coherence sig-nfr-web-tier-scaling-using-coherence-web
Coherence sig-nfr-web-tier-scaling-using-coherence-webCoherence sig-nfr-web-tier-scaling-using-coherence-web
Coherence sig-nfr-web-tier-scaling-using-coherence-web
 
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at ScaleJUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
JUDCon 2013- JBoss Data Grid and WebSockets: Delivering Real Time Push at Scale
 
Monitoring VMware vFabric with Hyperic and Spring Insight
Monitoring VMware vFabric with Hyperic and Spring InsightMonitoring VMware vFabric with Hyperic and Spring Insight
Monitoring VMware vFabric with Hyperic and Spring Insight
 
Middleware Expert Support Presentation
Middleware Expert Support PresentationMiddleware Expert Support Presentation
Middleware Expert Support Presentation
 
Monitoring Production JBoss with JBoss ON
Monitoring Production JBoss with JBoss ONMonitoring Production JBoss with JBoss ON
Monitoring Production JBoss with JBoss ON
 
Pushing Oracle Coherence Events to Web Browsers Using HTML5, Web Sockets and ...
Pushing Oracle Coherence Events to Web Browsers Using HTML5, Web Sockets and ...Pushing Oracle Coherence Events to Web Browsers Using HTML5, Web Sockets and ...
Pushing Oracle Coherence Events to Web Browsers Using HTML5, Web Sockets and ...
 
G1 Garbage Collector - Big Heaps and Low Pauses?
G1 Garbage Collector - Big Heaps and Low Pauses?G1 Garbage Collector - Big Heaps and Low Pauses?
G1 Garbage Collector - Big Heaps and Low Pauses?
 
Davoxx 2012 - 'JMS 2.0 Update'
Davoxx 2012 - 'JMS 2.0 Update'Davoxx 2012 - 'JMS 2.0 Update'
Davoxx 2012 - 'JMS 2.0 Update'
 

Recently uploaded

+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@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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...
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
+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...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

Oracle SOA Suite Performance Tuning- UKOUG Application Server & Middleware SIG Meeting

  • 1. © C2B2 Consulting Limited 2013 All Rights Reserved Oracle SOA Suite 11g Performance Tuning Matt Brasier C2B2 Consulting
  • 2. © C2B2 Consulting Limited 2013 All Rights Reserved Who am I? • Head of consulting at C2B2 • 12 years experience with application servers – WebLogic 5.1 to present day • Consulting with C2B2 since 2006 – BEA Professional services – Red Hat Global Services – SME start ups to UK Govt • Author of SOA Suite 11g performance tuning cookbook
  • 3. © C2B2 Consulting Limited 2013 All Rights Reserved Agenda • Performance and SOA Suite • A performance tuning methodology for SOA Suite • Common SOA Suite performance problems • Questions
  • 4. © C2B2 Consulting Limited 2013 All Rights Reserved PERFORMANCE AND SOA SUITE Key challenges in SOA Suite performance
  • 5. © C2B2 Consulting Limited 2013 All Rights Reserved Key Challenges • Fundamental to many organisations SOA infrastructure – It needs to work invisibly and quietly – Plumbing • Hard to test – Requirements vary significantly between applications • Limited documentation
  • 6. © C2B2 Consulting Limited 2013 All Rights Reserved Key Challenges • Different components have different uses – Different customers use different components – There is no single answer to tuning such a wide range of products • Technologies – BPM – BPEL – Mediator – BAM – OSB
  • 7. © C2B2 Consulting Limited 2013 All Rights Reserved Fundamental Nature • A message processing pipeline – Data size and quality has a large impact on performance • Frequent small messages vs infrequent large ones • A Java application – Subject to garbage collection and other JVM features
  • 8. © C2B2 Consulting Limited 2013 All Rights Reserved Goals • Out of the box, Oracle SOA Suite is tuned for developer productivity. • Tune to remove bottlenecks – Performance tuning where there is no bottleneck has no result • Maximise performance and availability with existing infrastructure
  • 9. © C2B2 Consulting Limited 2013 All Rights Reserved A PERFORMANCE TUNING METHODOLOGY FOR SOA SUITE How do we do this?
  • 10. © C2B2 Consulting Limited 2013 All Rights Reserved Methodolody • Treat it the same as any other Java application
  • 11. © C2B2 Consulting Limited 2013 All Rights Reserved A Science and an Art Test Identify Bottleneck Identify Cause Eliminate Bottleneck
  • 12. © C2B2 Consulting Limited 2013 All Rights Reserved Testing • Use a proper test harness • Design users tests that accurately simulate user behaviour – All of it, at once – 10000 users logging in, then out of a site, over and over is not representative of your load • Use a sufficiently powerful load generation capability – Don’t test the performance of your load generator
  • 13. © C2B2 Consulting Limited 2013 All Rights Reserved Monitoring • Goes hand-in-hand with testing • Testing is not a pass/fail activity – How close was the system to failing? – What happens if I double the load? – Which components are likely to fail first? • Do not view your system as a black box
  • 14. © C2B2 Consulting Limited 2013 All Rights Reserved Monitoring • A JMX based monitoring framework is essential – Memory stats (inc GC) – Connection pool stats – JMS queue stats – Transaction stats – Data • Not just CPU% and Memory%
  • 15. © C2B2 Consulting Limited 2013 All Rights Reserved Identify Bottleneck • Use the monitoring as a guide • What resource is constrained? – CPU – Memory – Locks – Bandwidth – Storage – Resource pools
  • 16. © C2B2 Consulting Limited 2013 All Rights Reserved Identify Cause • Now you know what is bottlenecked, but why? – Bad code – Sub-optimal setting – Data overload – Data structure – Insufficient resources
  • 17. © C2B2 Consulting Limited 2013 All Rights Reserved Useful tools • WebLogic console • Enterprise Manager • JStack • JStat • JVisualVM • JRockit Mission Control (JRMC)
  • 18. © C2B2 Consulting Limited 2013 All Rights Reserved Identify Solution • The solution depends on the cause – Configuration changes – Code changes – More hardware!* • * Beware anyone who starts out with this assumption
  • 19. © C2B2 Consulting Limited 2013 All Rights Reserved Implement solution • Implement the solution – In an environment where the problem could be reproduced • Test again – Has the bottleneck gone away? – Is there a new bottleneck?
  • 20. © C2B2 Consulting Limited 2013 All Rights Reserved Applying the methodology • Bottom up – Work from the CPU upwards to find bottleneck • Treat SOA Suite as any other Java application at this stage – Key suspects such as Garbage Collection and locking • Stop when you are meeting your targets – You can always go faster • Subject to the speed of light in copper cable
  • 21. © C2B2 Consulting Limited 2013 All Rights Reserved COMMON SOA SUITE PERFORMANCE PROBLEMS Where to start?
  • 22. © C2B2 Consulting Limited 2013 All Rights Reserved Common Problems • Excessive garbage collection • Thread pools • Database access
  • 23. © C2B2 Consulting Limited 2013 All Rights Reserved Garbage Collection • SOA Suite applications vary in how much data they have to process and how fast
  • 24. © C2B2 Consulting Limited 2013 All Rights Reserved • However it is often the case that they process lots of XML – XML is object creation intensive – Results in garbage • Garbage collection is based on the JVM – Hotspot/JRockit
  • 25. © C2B2 Consulting Limited 2013 All Rights Reserved Garbage Collection • Use tools like visualvm, jrmc or jstat to identify garbage collection problems – Garbage collection pause times of > 1s per minute • Tune the garbage collector – Parallel is a good starting point – Reduce the number and duration of full GC pauses • Tune the memory pools – Generational memory
  • 26. © C2B2 Consulting Limited 2013 All Rights Reserved Tools • Jstat – Jstat –gccause <pid> • JVisualVM
  • 27. © C2B2 Consulting Limited 2013 All Rights Reserved Thread Pools • There are a lot of thread pools – Use a tool to see which thread pools are exhusted • JStack • JVisualVM • Etc • WebLogic thread pool
  • 28. © C2B2 Consulting Limited 2013 All Rights Reserved Thread Pools • BPEL/BPMN thread pools – Dispatcher Invoke threads • Process requests from external sources – Dispatcher engine threads • Process asynchronous callback responses – Dispatcher System threads • Housekeeping tasks
  • 29. © C2B2 Consulting Limited 2013 All Rights Reserved Database access • Oracle SOA Suite makes heavy use of the database – Persistence of data – Metadata – Auditing and logging
  • 30. © C2B2 Consulting Limited 2013 All Rights Reserved Database access • Database access can be exponential with load – Each new user adds persistence load, auditing load, metadata lookups etc. • Reduce the amount of database access to improve performance – Reduce auditing – Reduce persistence of in-flight processes
  • 31. © C2B2 Consulting Limited 2013 All Rights Reserved Database access • Reduce persistence – InMemoryOptimisation (transient processes) – Reduce audit threshold – Reduce completion persist level – Increase audit trail size threshold – Increase large document threshold – Many many more
  • 32. © C2B2 Consulting Limited 2013 All Rights Reserved Database access • Tune the database – Purge old BPEL processes – General database tuning
  • 33. © C2B2 Consulting Limited 2013 All Rights Reserved Summary • Treat SOA Suite as any other java EE application – One that processes a lot of XML • Reduce database access • Manage memory correctly • Tune thread pools
  • 34. © C2B2 Consulting Limited 2013 All Rights Reserved FOCUS TUNING ONLY WHERE IT IS REQUIRED You can’t make it faster if it is not a bottleneck
  • 35. © C2B2 Consulting Limited 2013 All Rights Reserved Questions? • Thankyou for your time mbrasier@c2b2.co.uk @c2b2consulting, @mbrasier, www.c2b2.co.uk