SlideShare a Scribd company logo
1 of 45
Download to read offline
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.1
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.2
Insert Picture Here
Continuous Performance
Monitoring of a Distributed
Application
Ashish Srivastava
Principal Member of Technical Staff
Diana Yuryeva
Senior Member of Technical Staff
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.3
The following is intended to outline our general product direction. It is intended
for information purposes only, and may not be incorporated into any contract.
It is not a commitment to deliver any material, code, or functionality, and
should not be relied upon in making purchasing decisions. The development,
release, and timing of any features or functionality described for Oracle’s
products remains at the sole discretion of Oracle.
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.4
Session Goal
§ Components:
– Design patterns
– Tools
§ Qualities:
– Continuous
– Light-weight
– Recordable
Arrive at solution for extreme performance monitoring
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.5
Session Agenda
§ Use Case
§ Software Patterns
§ Tools
§ Pitfalls and Advice
§ Q&A
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.6
About Us
§ Oracle Billing and Revenue Management Elastic Charging Engine
– 100% real-time charging application
– Java
– Distributed grid
– Oracle Coherence
– Oracle NoSQL
– Focus on extreme performance
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.7
Operating Conditions
§ Low latency expectations
§ Heavy system load
§ Distributed environment
§ Multi-level software stack
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.8
Monitoring Requirements
§ Detailed insight about performance
– Latency
– Throughput
§ View over time
§ Reporting
§ Bottleneck detection
§ View of system as cohesive unit
Functional
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.9
Monitoring Requirements
§ Minimal impact on processing
§ Ease of use
§ Separation of concerns
Non-Functional
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.10
Session Agenda
§ Use Case
§ Software Patterns
§ Tools
§ Pitfalls and Advice
§ Q&A
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.11
Approach
§ Off-the-shelf software not sufficient
§ Custom development needed
– Incorporate monitoring into system
– Collect, analyze and present metrics
How do I address these requirements?
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.12
Collecting Metrics
§ Goal
– Incorporate metrics collection into general processing
§ Approach
– Enhance domain model with monitoring-related data structures
Problem overview
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.13
Collecting Metrics
Model of sample system
ECE Client
Network Mediation
A
B
B'
C
C'
A'
A
Node1
Node3
Node2
request
―Debatch the requests
―Data lookups
―Apply Tariff
―Save Session
―Prepare Response
―..
response
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.14
Collecting Metrics
Solution
ECE Client
Network Mediation
A
B
B'
C
C'
A'
A
Node1
Node3
Node2
request
―Debatch the requests
―Data lookups
―Apply Tariff
―Save Session
―Prepare Response
―..
response
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.15
Client Node
Processing
Node
Envelope
Routing Context
Payload
Tracking Context Chronicler
– TimePoints
Stat Reporterharvest
Envelope
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.16
Collecting Metrics
##### Elapsed time = 3600 seconds
##### Avg throughput = 20000 ops/sec
##### Avg latency = 50 ms
Result
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.17
Granular Reporting
§ Goal
– I need more granular reporting of performance over time
§ Approach
– Enhance reporting of collected metrics
Problem overview
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.18
Granular Reporting
Solution – data structure
Chronicler removed
―
A moving reporting window
―
100% reporting
―
Sampled reporting
―
Stats exposed over JMX
―
Fixed data set for a window
Chronicler added
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.19
Granular Reporting
Solution – class diagram
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.20
Granular Reporting
§ I can see min/max/avg latency and throughput over time
§ My throughput reporting is quite good: I can see whether I had
stable or erratic throughput
Result
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.21
Latency Percentile Report
§ Goal
– Latencies are still not detailed enough. I need to know more than the
average/min/max latencies
– Need to guarantee that 99.999% of the requests take less than 55ms
§ Approach
– Introduce range bucketing to count latencies
Problem overview
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.22
Latency Percentile Report
§ Pre-defined buckets of latency percentiles
§ Data set does not grow. Each bucket is updated
§ Multiple percentile breakdown
– End-to-end
– Server side processing
– Per batch reporting
Solution
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.23
Latency Percentile Report
2013-03-21 08:44:29.112 PDT INFO ##### Latency statistics based on percentiles:
Percentile: 0.1, Latency: 1ms, Total Count: 1173148
Percentile: 1.0, Latency: 2ms, Total Count: 100909763
Percentile: 10.0, Latency: 2ms, Total Count: 100909763
Percentile: 95.0, Latency: 26ms, Total Count: 685176664
Percentile: 99.0, Latency: 50ms, Total Count: 713029967
Percentile: 99.5, Latency: 58ms, Total Count: 716355711
Percentile: 99.9, Latency: 78ms, Total Count: 719217619
Percentile: 99.99, Latency: 104ms, Total Count: 719836971
Percentile: 99.999, Latency: 128ms, Total Count: 719897850
Percentile: 100.0, Latency: 169ms, Total Count: 719904814
Result – printed report
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.24
Latency Percentile Report
Result – heat map
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.25
Method Breakdown
§ Goal
– I want to measure the impact of a new method under varying load
– End-to-end latency always ON
– Minimum performance impact
§ Approach
– Method annotations
– Aspect
Problem overview
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.26
Method Breakdown
Solution
public enum LabelEnum {
APPLY_TARIFF,
...
DEBATCH
}
public class ClassToBeTracked {
@Track(pointLabel = LabelEnum.APPLY_TARIFF)
private <ReturnObject> method(<Parameters>) {
...
}
}
<pointcut name="scope" expression="within(ClassName) "/>
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.27
Method Breakdown
Result – detailed breakdown report
2013-07-15 16:29:24.953 PDT
Chronicler Breakdown:
DEBATCH -> 64149 nanoseconds
LOOKUP_DATA -> 1056748 nanoseconds
APPLY_TARIFF -> 99994 nanoseconds
SAVE_SESSION -> 12989 nanoseconds
PREPARE_RESPONSE -> 15998 nanoseconds
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.28
Session Agenda
§ Use Case
§ Software Patterns
§ Tools
§ Pitfalls and Advice
§ Q&A
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.29
Storing and Presenting Metrics
§ Goal
– I collect detailed performance metrics, but I need to report them too
– I need a tool which stores these metrics and presents them in a unified
view
§ Approach
– Create monitoring dashboard
– Technologies: JRDS,RRD and in-house development
Problem overview
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.30
Storing and Presenting Metrics
Result – monitoring dashboard
Configuration:
Topology 24 servers
Throughput 20000 ops/sec
Duration 10 hrs
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.31
Storing and Presenting Metrics
§ Graphical
§ Supports various metrics
– Application-specific
– Machine-specific
– JVM-specific
§ Consolidated view
– All graphs on one page
Solution qualities
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.32
Storing and Presenting Metrics
§ Easy to use
– Collects and saves data automatically
§ Easy to share
– Includes configuration for future references
– Send links to web pages
– Print page as PDF
Solution qualities
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.33
Storing and Presenting Metrics
§ Stores data without losing precision
§ Supports drilling down
§ Light-weight
§ Customizable
Solution qualities
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.34
Session Agenda
§ Use Case
§ Software Patterns
§ Tools
§ Pitfalls and Advice
§ Q&A
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.35
Pitfalls and Advice
§ Distributed system monitoring != Single JVM monitoring
– Consolidated view is critical
§ Consistency of tools across team is important
– Same language across development, QE and Performance teams saves
hours
§ Solution should enable you to be agile
– Run monitoring on laptop AND realistic setup
Take into consideration
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.36
Pitfalls and Advice
§ These hide problems
– Averaging
– Sampling
§ GC has big impact, so include it in your metrics
§ Watch our for processes sharing the same host
§ Always run long-duration tests
Some things to pay attention to
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.37
Session Summary
 Detailed insight about performance
– Latency
– Throughput
 View over time
 Reporting
 Bottleneck detection
 View of system as cohesive unit
Let's see how we addressed original requirements
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.38
Session Summary
 Detailed insight about performance
– Latency
– Throughput
 View over time
 Reporting
 Bottleneck detection
 View of system as cohesive unit
Let's see how we addressed original requirements
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.39
Session Summary
 Detailed insight about performance
– Latency
– Throughput
 View over time
 Reporting
 Bottleneck detection
 View of system as cohesive unit
Let's see how we addressed original requirements
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.40
Session Summary
 Detailed insight about performance
– Latency
– Throughput
 View over time
 Reporting
 Bottleneck detection
 View of system as cohesive unit
Let's see how we addressed original requirements
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.41
Session Summary
 Detailed insight about performance
– Latency
– Throughput
 View over time
 Reporting
 Bottleneck detection
 View of system as cohesive unit
Let's see how we addressed original requirements
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.42
Session Summary
 Detailed insight about performance
– Latency
– Throughput
 View over time
 Reporting
 Bottleneck detection
 View of system as cohesive unit
Let's see how we addressed original requirements
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.43
Session Agenda
§ Use Case
§ Software Patterns
§ Tools
§ Pitfalls and Advice
§ Q&A
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.44
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.45
Links
§ ECE
– http://www.oracle.com/us/products/applications/communications/elastic-
charging-engine
§ JRDS
– http://www.jrds.fr

More Related Content

What's hot

Using HP Quality Center 10.0 workflow and customization interface to manage t...
Using HP Quality Center 10.0 workflow and customization interface to manage t...Using HP Quality Center 10.0 workflow and customization interface to manage t...
Using HP Quality Center 10.0 workflow and customization interface to manage t...
Michael Deady
 
Spira plan overview presentation
Spira plan overview presentationSpira plan overview presentation
Spira plan overview presentation
Trabalistra Bagaz
 
Anitha_Resume_BigData
Anitha_Resume_BigDataAnitha_Resume_BigData
Anitha_Resume_BigData
Anitha Bade
 
Sdlc framework
Sdlc frameworkSdlc framework
Sdlc framework
BILL bill
 
Optimizing Business Process In Organization PowerPoint Presentation Slides
Optimizing Business Process In Organization PowerPoint Presentation SlidesOptimizing Business Process In Organization PowerPoint Presentation Slides
Optimizing Business Process In Organization PowerPoint Presentation Slides
SlideTeam
 
Resume - Gagan Gupta
Resume - Gagan GuptaResume - Gagan Gupta
Resume - Gagan Gupta
Gagan Gupta
 

What's hot (20)

Delivering your Oracle EBS R12 Upgrade with 100% Confidence
Delivering your Oracle EBS R12 Upgrade with 100% ConfidenceDelivering your Oracle EBS R12 Upgrade with 100% Confidence
Delivering your Oracle EBS R12 Upgrade with 100% Confidence
 
A Case Study on Business Process Management
A Case Study on Business Process ManagementA Case Study on Business Process Management
A Case Study on Business Process Management
 
Using HP Quality Center 10.0 workflow and customization interface to manage t...
Using HP Quality Center 10.0 workflow and customization interface to manage t...Using HP Quality Center 10.0 workflow and customization interface to manage t...
Using HP Quality Center 10.0 workflow and customization interface to manage t...
 
Spira plan overview presentation
Spira plan overview presentationSpira plan overview presentation
Spira plan overview presentation
 
Anitha_Resume_BigData
Anitha_Resume_BigDataAnitha_Resume_BigData
Anitha_Resume_BigData
 
MSS Business Integration Practice Ibm Web Sphere
MSS Business Integration Practice   Ibm Web SphereMSS Business Integration Practice   Ibm Web Sphere
MSS Business Integration Practice Ibm Web Sphere
 
Agile Network India | Event | Agile Implementation in distributed teams |
Agile Network India | Event | Agile Implementation in distributed teams | Agile Network India | Event | Agile Implementation in distributed teams |
Agile Network India | Event | Agile Implementation in distributed teams |
 
Prashant kumar feb2016
Prashant kumar feb2016Prashant kumar feb2016
Prashant kumar feb2016
 
Workshop BI/DWH AGILE TESTING SNS Bank English
Workshop BI/DWH AGILE TESTING SNS Bank EnglishWorkshop BI/DWH AGILE TESTING SNS Bank English
Workshop BI/DWH AGILE TESTING SNS Bank English
 
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
 
Our 9.2 Upgrade: How Transformation + Technology = Success
Our 9.2 Upgrade: How Transformation + Technology = SuccessOur 9.2 Upgrade: How Transformation + Technology = Success
Our 9.2 Upgrade: How Transformation + Technology = Success
 
Contracting for agile jenny tuohy
Contracting for agile   jenny tuohyContracting for agile   jenny tuohy
Contracting for agile jenny tuohy
 
UCPath at UCOP
UCPath at UCOPUCPath at UCOP
UCPath at UCOP
 
Alliance 2017 3891-University of California | Office of The President People...
Alliance 2017  3891-University of California | Office of The President People...Alliance 2017  3891-University of California | Office of The President People...
Alliance 2017 3891-University of California | Office of The President People...
 
Top 8 Trends in Performance Engineering
Top 8 Trends in Performance EngineeringTop 8 Trends in Performance Engineering
Top 8 Trends in Performance Engineering
 
Sdlc framework
Sdlc frameworkSdlc framework
Sdlc framework
 
Optimizing Business Process In Organization PowerPoint Presentation Slides
Optimizing Business Process In Organization PowerPoint Presentation SlidesOptimizing Business Process In Organization PowerPoint Presentation Slides
Optimizing Business Process In Organization PowerPoint Presentation Slides
 
Bpm10gperformancetuning 476208
Bpm10gperformancetuning 476208Bpm10gperformancetuning 476208
Bpm10gperformancetuning 476208
 
How to implement an enterprise system
How to implement an enterprise systemHow to implement an enterprise system
How to implement an enterprise system
 
Resume - Gagan Gupta
Resume - Gagan GuptaResume - Gagan Gupta
Resume - Gagan Gupta
 

Viewers also liked

Exposición de Google Chrome
Exposición de Google ChromeExposición de Google Chrome
Exposición de Google Chrome
yssel20122455
 
Wcm777 ch opp 0521
Wcm777 ch opp  0521Wcm777 ch opp  0521
Wcm777 ch opp 0521
ttran321
 
디자인매니지먼트2
디자인매니지먼트2디자인매니지먼트2
디자인매니지먼트2
sabina0907
 
Design_Project.compressed
Design_Project.compressedDesign_Project.compressed
Design_Project.compressed
Tochukwu Udeh
 
Collage businesses law
Collage businesses lawCollage businesses law
Collage businesses law
rangers720
 

Viewers also liked (19)

Exposición de Google Chrome
Exposición de Google ChromeExposición de Google Chrome
Exposición de Google Chrome
 
Wcm777 ch opp 0521
Wcm777 ch opp  0521Wcm777 ch opp  0521
Wcm777 ch opp 0521
 
Linux εντολές lp, wc, grep
Linux εντολές lp, wc, grepLinux εντολές lp, wc, grep
Linux εντολές lp, wc, grep
 
How do you envision the city of the future?
How do you envision the city of the future?How do you envision the city of the future?
How do you envision the city of the future?
 
디자인매니지먼트2
디자인매니지먼트2디자인매니지먼트2
디자인매니지먼트2
 
Design_Project.compressed
Design_Project.compressedDesign_Project.compressed
Design_Project.compressed
 
Mi bautizo
Mi bautizoMi bautizo
Mi bautizo
 
Adhesiva Y Pegamento - como Elegir El Mejor
Adhesiva Y Pegamento - como Elegir El MejorAdhesiva Y Pegamento - como Elegir El Mejor
Adhesiva Y Pegamento - como Elegir El Mejor
 
Novoe v porjadke_attestacii_na_2014_god
Novoe v porjadke_attestacii_na_2014_godNovoe v porjadke_attestacii_na_2014_god
Novoe v porjadke_attestacii_na_2014_god
 
Presentacion
PresentacionPresentacion
Presentacion
 
Movimiento preindependentista
Movimiento preindependentistaMovimiento preindependentista
Movimiento preindependentista
 
خطبہ جمعہ 18 دسمبر 1992
خطبہ جمعہ 18 دسمبر 1992 خطبہ جمعہ 18 دسمبر 1992
خطبہ جمعہ 18 دسمبر 1992
 
Presentation_NEW.PPTX
Presentation_NEW.PPTXPresentation_NEW.PPTX
Presentation_NEW.PPTX
 
Doc1
Doc1Doc1
Doc1
 
RESUME_Ashish Dhuliya
RESUME_Ashish DhuliyaRESUME_Ashish Dhuliya
RESUME_Ashish Dhuliya
 
Inspiring growth - Day 1 Leveraging associations and networks
Inspiring growth -  Day 1  Leveraging associations and networksInspiring growth -  Day 1  Leveraging associations and networks
Inspiring growth - Day 1 Leveraging associations and networks
 
Linux εντολές cp ,mv, ln
Linux εντολές cp ,mv, lnLinux εντολές cp ,mv, ln
Linux εντολές cp ,mv, ln
 
Collage businesses law
Collage businesses lawCollage businesses law
Collage businesses law
 
2015-04-01 research seminar
2015-04-01 research seminar2015-04-01 research seminar
2015-04-01 research seminar
 

Similar to Continuous Performance Monitoring of a Distributed Application [CON4730]

Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-help
Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-helpOtm 2013 c13_e-17a-plessis-elisabeth-otm-self-help
Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-help
jucaab
 
Oracle primavera and bpm the power of integration ppt
Oracle primavera and bpm   the power of integration pptOracle primavera and bpm   the power of integration ppt
Oracle primavera and bpm the power of integration ppt
p6academy
 
So we've done APM. Now what?
 So we've done APM. Now what? So we've done APM. Now what?
So we've done APM. Now what?
SL Corporation
 
Oracle - Enterprise Manager 12c Overview
Oracle - Enterprise Manager 12c OverviewOracle - Enterprise Manager 12c Overview
Oracle - Enterprise Manager 12c Overview
Fred Sim
 
Con3928 horton session con3928 fusion app on-premise installation lessons lea...
Con3928 horton session con3928 fusion app on-premise installation lessons lea...Con3928 horton session con3928 fusion app on-premise installation lessons lea...
Con3928 horton session con3928 fusion app on-premise installation lessons lea...
Berry Clemens
 
Ebs performance tuning session feb 13 2013---Presented by Oracle
Ebs performance tuning session  feb 13 2013---Presented by OracleEbs performance tuning session  feb 13 2013---Presented by Oracle
Ebs performance tuning session feb 13 2013---Presented by Oracle
Akash Pramanik
 
Con7091 sql tuning for expert db as-oow17_oct2_1507314871265001m0x4
Con7091 sql tuning for expert db as-oow17_oct2_1507314871265001m0x4Con7091 sql tuning for expert db as-oow17_oct2_1507314871265001m0x4
Con7091 sql tuning for expert db as-oow17_oct2_1507314871265001m0x4
asifanw
 

Similar to Continuous Performance Monitoring of a Distributed Application [CON4730] (20)

Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-help
Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-helpOtm 2013 c13_e-17a-plessis-elisabeth-otm-self-help
Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-help
 
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
 
Oracle primavera and bpm the power of integration ppt
Oracle primavera and bpm   the power of integration pptOracle primavera and bpm   the power of integration ppt
Oracle primavera and bpm the power of integration ppt
 
Con8833 access at scale for hundreds of millions of users final
Con8833 access at scale for hundreds of millions of users   finalCon8833 access at scale for hundreds of millions of users   final
Con8833 access at scale for hundreds of millions of users final
 
206510 p6 upgrade considerations
206510 p6 upgrade considerations206510 p6 upgrade considerations
206510 p6 upgrade considerations
 
Ebs12.2 online patching
Ebs12.2 online patching Ebs12.2 online patching
Ebs12.2 online patching
 
Ebs12.2 online patching(aioug_aug2015)
Ebs12.2 online patching(aioug_aug2015)Ebs12.2 online patching(aioug_aug2015)
Ebs12.2 online patching(aioug_aug2015)
 
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
 
So we've done APM. Now what?
 So we've done APM. Now what? So we've done APM. Now what?
So we've done APM. Now what?
 
1 architecture & design
1   architecture & design1   architecture & design
1 architecture & design
 
Oracle - Enterprise Manager 12c Overview
Oracle - Enterprise Manager 12c OverviewOracle - Enterprise Manager 12c Overview
Oracle - Enterprise Manager 12c Overview
 
MySQL Group Replication: Handling Network Glitches - Best Practices
MySQL Group Replication: Handling Network Glitches - Best PracticesMySQL Group Replication: Handling Network Glitches - Best Practices
MySQL Group Replication: Handling Network Glitches - Best Practices
 
Profiling of Engagers and Converters with Audience Analytics and Look-alike M...
Profiling of Engagers and Converters with Audience Analytics and Look-alike M...Profiling of Engagers and Converters with Audience Analytics and Look-alike M...
Profiling of Engagers and Converters with Audience Analytics and Look-alike M...
 
Con3928 horton session con3928 fusion app on-premise installation lessons lea...
Con3928 horton session con3928 fusion app on-premise installation lessons lea...Con3928 horton session con3928 fusion app on-premise installation lessons lea...
Con3928 horton session con3928 fusion app on-premise installation lessons lea...
 
Ebs performance tuning session feb 13 2013---Presented by Oracle
Ebs performance tuning session  feb 13 2013---Presented by OracleEbs performance tuning session  feb 13 2013---Presented by Oracle
Ebs performance tuning session feb 13 2013---Presented by Oracle
 
Con7091 sql tuning for expert db as-oow17_oct2_1507314871265001m0x4
Con7091 sql tuning for expert db as-oow17_oct2_1507314871265001m0x4Con7091 sql tuning for expert db as-oow17_oct2_1507314871265001m0x4
Con7091 sql tuning for expert db as-oow17_oct2_1507314871265001m0x4
 
Best Practices for Upgrading your JD Edwards Software from Oracle
Best Practices for Upgrading your JD Edwards Software from OracleBest Practices for Upgrading your JD Edwards Software from Oracle
Best Practices for Upgrading your JD Edwards Software from Oracle
 
Developing Applications with MySQL and Java
Developing Applications with MySQL and JavaDeveloping Applications with MySQL and Java
Developing Applications with MySQL and Java
 
Oracle Database Lifecycle Management
Oracle Database Lifecycle ManagementOracle Database Lifecycle Management
Oracle Database Lifecycle Management
 
OOW16 - Maintenance Strategies for Oracle E-Business Suite [CON6725]
OOW16 - Maintenance Strategies for Oracle E-Business Suite [CON6725]OOW16 - Maintenance Strategies for Oracle E-Business Suite [CON6725]
OOW16 - Maintenance Strategies for Oracle E-Business Suite [CON6725]
 

Recently uploaded

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
 
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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
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
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
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
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
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...
 
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
 
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
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
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, ...
 
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
 
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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 

Continuous Performance Monitoring of a Distributed Application [CON4730]

  • 1. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.1
  • 2. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.2 Insert Picture Here Continuous Performance Monitoring of a Distributed Application Ashish Srivastava Principal Member of Technical Staff Diana Yuryeva Senior Member of Technical Staff
  • 3. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.3 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
  • 4. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.4 Session Goal § Components: – Design patterns – Tools § Qualities: – Continuous – Light-weight – Recordable Arrive at solution for extreme performance monitoring
  • 5. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.5 Session Agenda § Use Case § Software Patterns § Tools § Pitfalls and Advice § Q&A
  • 6. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.6 About Us § Oracle Billing and Revenue Management Elastic Charging Engine – 100% real-time charging application – Java – Distributed grid – Oracle Coherence – Oracle NoSQL – Focus on extreme performance
  • 7. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.7 Operating Conditions § Low latency expectations § Heavy system load § Distributed environment § Multi-level software stack
  • 8. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.8 Monitoring Requirements § Detailed insight about performance – Latency – Throughput § View over time § Reporting § Bottleneck detection § View of system as cohesive unit Functional
  • 9. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.9 Monitoring Requirements § Minimal impact on processing § Ease of use § Separation of concerns Non-Functional
  • 10. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.10 Session Agenda § Use Case § Software Patterns § Tools § Pitfalls and Advice § Q&A
  • 11. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.11 Approach § Off-the-shelf software not sufficient § Custom development needed – Incorporate monitoring into system – Collect, analyze and present metrics How do I address these requirements?
  • 12. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.12 Collecting Metrics § Goal – Incorporate metrics collection into general processing § Approach – Enhance domain model with monitoring-related data structures Problem overview
  • 13. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.13 Collecting Metrics Model of sample system ECE Client Network Mediation A B B' C C' A' A Node1 Node3 Node2 request ―Debatch the requests ―Data lookups ―Apply Tariff ―Save Session ―Prepare Response ―.. response
  • 14. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.14 Collecting Metrics Solution ECE Client Network Mediation A B B' C C' A' A Node1 Node3 Node2 request ―Debatch the requests ―Data lookups ―Apply Tariff ―Save Session ―Prepare Response ―.. response
  • 15. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.15 Client Node Processing Node Envelope Routing Context Payload Tracking Context Chronicler – TimePoints Stat Reporterharvest Envelope
  • 16. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.16 Collecting Metrics ##### Elapsed time = 3600 seconds ##### Avg throughput = 20000 ops/sec ##### Avg latency = 50 ms Result
  • 17. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.17 Granular Reporting § Goal – I need more granular reporting of performance over time § Approach – Enhance reporting of collected metrics Problem overview
  • 18. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.18 Granular Reporting Solution – data structure Chronicler removed ― A moving reporting window ― 100% reporting ― Sampled reporting ― Stats exposed over JMX ― Fixed data set for a window Chronicler added
  • 19. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.19 Granular Reporting Solution – class diagram
  • 20. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.20 Granular Reporting § I can see min/max/avg latency and throughput over time § My throughput reporting is quite good: I can see whether I had stable or erratic throughput Result
  • 21. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.21 Latency Percentile Report § Goal – Latencies are still not detailed enough. I need to know more than the average/min/max latencies – Need to guarantee that 99.999% of the requests take less than 55ms § Approach – Introduce range bucketing to count latencies Problem overview
  • 22. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.22 Latency Percentile Report § Pre-defined buckets of latency percentiles § Data set does not grow. Each bucket is updated § Multiple percentile breakdown – End-to-end – Server side processing – Per batch reporting Solution
  • 23. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.23 Latency Percentile Report 2013-03-21 08:44:29.112 PDT INFO ##### Latency statistics based on percentiles: Percentile: 0.1, Latency: 1ms, Total Count: 1173148 Percentile: 1.0, Latency: 2ms, Total Count: 100909763 Percentile: 10.0, Latency: 2ms, Total Count: 100909763 Percentile: 95.0, Latency: 26ms, Total Count: 685176664 Percentile: 99.0, Latency: 50ms, Total Count: 713029967 Percentile: 99.5, Latency: 58ms, Total Count: 716355711 Percentile: 99.9, Latency: 78ms, Total Count: 719217619 Percentile: 99.99, Latency: 104ms, Total Count: 719836971 Percentile: 99.999, Latency: 128ms, Total Count: 719897850 Percentile: 100.0, Latency: 169ms, Total Count: 719904814 Result – printed report
  • 24. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.24 Latency Percentile Report Result – heat map
  • 25. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.25 Method Breakdown § Goal – I want to measure the impact of a new method under varying load – End-to-end latency always ON – Minimum performance impact § Approach – Method annotations – Aspect Problem overview
  • 26. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.26 Method Breakdown Solution public enum LabelEnum { APPLY_TARIFF, ... DEBATCH } public class ClassToBeTracked { @Track(pointLabel = LabelEnum.APPLY_TARIFF) private <ReturnObject> method(<Parameters>) { ... } } <pointcut name="scope" expression="within(ClassName) "/>
  • 27. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.27 Method Breakdown Result – detailed breakdown report 2013-07-15 16:29:24.953 PDT Chronicler Breakdown: DEBATCH -> 64149 nanoseconds LOOKUP_DATA -> 1056748 nanoseconds APPLY_TARIFF -> 99994 nanoseconds SAVE_SESSION -> 12989 nanoseconds PREPARE_RESPONSE -> 15998 nanoseconds
  • 28. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.28 Session Agenda § Use Case § Software Patterns § Tools § Pitfalls and Advice § Q&A
  • 29. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.29 Storing and Presenting Metrics § Goal – I collect detailed performance metrics, but I need to report them too – I need a tool which stores these metrics and presents them in a unified view § Approach – Create monitoring dashboard – Technologies: JRDS,RRD and in-house development Problem overview
  • 30. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.30 Storing and Presenting Metrics Result – monitoring dashboard Configuration: Topology 24 servers Throughput 20000 ops/sec Duration 10 hrs
  • 31. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.31 Storing and Presenting Metrics § Graphical § Supports various metrics – Application-specific – Machine-specific – JVM-specific § Consolidated view – All graphs on one page Solution qualities
  • 32. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.32 Storing and Presenting Metrics § Easy to use – Collects and saves data automatically § Easy to share – Includes configuration for future references – Send links to web pages – Print page as PDF Solution qualities
  • 33. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.33 Storing and Presenting Metrics § Stores data without losing precision § Supports drilling down § Light-weight § Customizable Solution qualities
  • 34. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.34 Session Agenda § Use Case § Software Patterns § Tools § Pitfalls and Advice § Q&A
  • 35. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.35 Pitfalls and Advice § Distributed system monitoring != Single JVM monitoring – Consolidated view is critical § Consistency of tools across team is important – Same language across development, QE and Performance teams saves hours § Solution should enable you to be agile – Run monitoring on laptop AND realistic setup Take into consideration
  • 36. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.36 Pitfalls and Advice § These hide problems – Averaging – Sampling § GC has big impact, so include it in your metrics § Watch our for processes sharing the same host § Always run long-duration tests Some things to pay attention to
  • 37. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.37 Session Summary  Detailed insight about performance – Latency – Throughput  View over time  Reporting  Bottleneck detection  View of system as cohesive unit Let's see how we addressed original requirements
  • 38. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.38 Session Summary  Detailed insight about performance – Latency – Throughput  View over time  Reporting  Bottleneck detection  View of system as cohesive unit Let's see how we addressed original requirements
  • 39. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.39 Session Summary  Detailed insight about performance – Latency – Throughput  View over time  Reporting  Bottleneck detection  View of system as cohesive unit Let's see how we addressed original requirements
  • 40. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.40 Session Summary  Detailed insight about performance – Latency – Throughput  View over time  Reporting  Bottleneck detection  View of system as cohesive unit Let's see how we addressed original requirements
  • 41. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.41 Session Summary  Detailed insight about performance – Latency – Throughput  View over time  Reporting  Bottleneck detection  View of system as cohesive unit Let's see how we addressed original requirements
  • 42. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.42 Session Summary  Detailed insight about performance – Latency – Throughput  View over time  Reporting  Bottleneck detection  View of system as cohesive unit Let's see how we addressed original requirements
  • 43. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.43 Session Agenda § Use Case § Software Patterns § Tools § Pitfalls and Advice § Q&A
  • 44. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.44
  • 45. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.45 Links § ECE – http://www.oracle.com/us/products/applications/communications/elastic- charging-engine § JRDS – http://www.jrds.fr