8/4/2019 Performance Bottleneck Identification Through Software Diagnostics- Impetus Webinar
1/18
Identifying Software Performance
Bottlenecks using Diagnostic Tools
by
Impetus Technologies
Recorded version available at
http://www.impetus.com/webinar_registration?event=archived&eid=46
8/4/2019 Performance Bottleneck Identification Through Software Diagnostics- Impetus Webinar
2/18
Outline
Typical process of bottleneck identification
Diagnostic tools
How diagnostic tools work?
Diagnostic tools usage scenarios
Server side diagnostics
Client side diagnostics
Benefits of diagnostic tools
Real world examples
Q&A
Recorded version available at
http://www.impetus.com/webinar_registration?event=archived&eid=46
8/4/2019 Performance Bottleneck Identification Through Software Diagnostics- Impetus Webinar
3/18
Typical Process of Bottleneck Identification
Extensive time, resources, and efforts involved
8/4/2019 Performance Bottleneck Identification Through Software Diagnostics- Impetus Webinar
4/18
Diagnostic Tools
Response time break down
Tiers, components and layers
Information
Bottleneck methods, costliest queries, memory leaks
Deployment options
Development environment, load testing environment,
production
Differ from profilers
Low overheads, isolates code bottlenecks
Recorded version available at
http://www.impetus.com/webinar_registration?event=archived&eid=46
8/4/2019 Performance Bottleneck Identification Through Software Diagnostics- Impetus Webinar
5/18
How Diagnostic Tools Work?
8/4/2019 Performance Bottleneck Identification Through Software Diagnostics- Impetus Webinar
6/18
Server-side Diagnostics: Plug-in Tools
An extension to performance testing tools
Diagnostic data integrates with test results
Break down of transaction response time
Diagnostic configuration a part of performance testing tool
Easy analysis
Some popular tools available- Dynatrace, Deep Diagnostics
Recorded version available at
http://www.impetus.com/webinar_registration?event=archived&eid=46
8/4/2019 Performance Bottleneck Identification Through Software Diagnostics- Impetus Webinar
7/18
Server-side Diagnostics: Custom Tools
Not integrated with any performance testing tool
Runs in addition to the performance tests
Independent configuration and analysis
Existing tools, scripts can be used
Support for specific technology, requirements
Some popular tools available- Glassbox, InfraRed
Recorded version available at
http://www.impetus.com/webinar_registration?event=archived&eid=46
8/4/2019 Performance Bottleneck Identification Through Software Diagnostics- Impetus Webinar
8/18
Server-side Diagnostics: Approach
Select appropriate diagnostic tool Objective
Technology
Cost
Calibrate overhead of diagnostic tool Apply method filters
Bottleneck identification
Top X methods and queries
Response time distribution across layers
Recorded version available at
http://www.impetus.com/webinar_registration?event=archived&eid=46
8/4/2019 Performance Bottleneck Identification Through Software Diagnostics- Impetus Webinar
9/18
Client-side Diagnostics
Vastly impacts end user experience
Categories of client side
Mobile diagnostics
Measuring app performance on mobile device
Limited hardware resources
rowser diagnostics
Identifies browser bottlenecks in page loading
Recorded version available at
http://www.impetus.com/webinar_registration?event=archived&eid=46
8/4/2019 Performance Bottleneck Identification Through Software Diagnostics- Impetus Webinar
10/18
Client-side Diagnostics: Approach
Mobile diagnostics approach
Existing tools (J2ME profiler, Android Trace)
Custom solution
Use of Aspect oriented frameworks (AspectME, AspectLUA)
Use byte code instrumentation
Re-usable aspects
Configure aspect within application binaries
rowser diagnostics approach
Diagnostics plugins - Firebug, SpeedTrace, HttpWatch
Analyze statistics
Identify bottlenecks - Java script execution, memory leaks, page
loading
Recorded version available at
http://www.impetus.com/webinar_registration?event=archived&eid=46
8/4/2019 Performance Bottleneck Identification Through Software Diagnostics- Impetus Webinar
11/18
Benefits of Diagnostic Tools
Drill down user transactions to methods, DB queries and web
service calls
Performance visibility across complete application
Identifies and isolates performance bottlenecks
Costly queries, high method invocations, method execution time,suspicious memory consumption
Enhanced collaboration
Rich analysis dashboard
Built-in heuristics Integrates with IDE
Reduces time and efforts involved in bottleneck identification
8/4/2019 Performance Bottleneck Identification Through Software Diagnostics- Impetus Webinar
12/18
The Client One of the leading companies in home health care
Key Challenge
Performance bottleneck identification from performance testing
Lack of expertise in diagnostic tools
Impetus Solution
Proposed SandStorm and its diagnostic plug-in
Calibrated diagnostics overhead (~2%-3%)
Captures diagnostics data across method & queries during test execution
Performed client side diagnostics using Firebug
Consolidated data enabled quick isolation of performance bottlenecks
Case Study: Plug-in Diagnostic Tools
enefits Realised
Faster performance bottleneck identification
Streamlined and efficient performance engineering
No performance issues in production
8/4/2019 Performance Bottleneck Identification Through Software Diagnostics- Impetus Webinar
13/18
Case Study: Custom Diagnostic Tools
The Client Leading provider of financial risk management solutions
Key Challenge
Mechanism to isolate code bottlenecks during performance testing
Performance monitoring of application in staging environment
Reusing Load Runner scripts & performance center scenarios
Impetus Solution
Proposed implementing an extensible, custom diagnostic solution
Built diagnostic f/w using Aspect Oriented Programming using
AspectWerkz, Jamon, Jarep libraries
Deployed and configured utility in a staging environment
Reports generated & analysed to identify expensive queries
enefits Realised
Monitoring mechanisms in staging environment
Cost saving as same performance testing tool was used
8/4/2019 Performance Bottleneck Identification Through Software Diagnostics- Impetus Webinar
14/18
Application Diagnostics Utility
Server side diagnostic plug-in to SandStorm
Drill down transaction response times across multiple tiers andcomponents
Identifies slow performing methods and queries
Easy configuration
No code changes required
User selection of monitored methods
Low overheads
Supports multiple Java app servers and programming stacks
Recorded version available at
http://www.impetus.com/webinar_registration?event=archived&eid=46
8/4/2019 Performance Bottleneck Identification Through Software Diagnostics- Impetus Webinar
15/18
Summing Up
Diagnostic tools differ from profilers
Diagnostic tools can be used in multiple environments
Software diagnostics an integral piece of a successful
performance engineering strategy
Custom diagnostic solutions for specific requirements
Calibrate the overhead of diagnostic tool before actual usage
Recorded version available at
http://www.impetus.com/webinar_registration?event=archived&eid=46
8/4/2019 Performance Bottleneck Identification Through Software Diagnostics- Impetus Webinar
16/18
About Us
Strategic partners for software product engineering and R&D
Thought leaders in cutting-edge technologies
Mature processes and practices that are methodical, yet flexible
Diverse domain expertise
Holistic approach in Performance Engineering
Recorded version available at
http://www.impetus.com/webinar_registration?event=archived&eid=46
8/4/2019 Performance Bottleneck Identification Through Software Diagnostics- Impetus Webinar
17/18
Questions
Please send in your questions
using the chat panel
Recorded version available at
http://www.impetus.com/webinar_registration?event=archived&eid=46
8/4/2019 Performance Bottleneck Identification Through Software Diagnostics- Impetus Webinar
18/18
Thank youFor more information,
write to us at [email protected]
@impetuscalling
Recorded version available at
http://www.impetus.com/webinar_registration?event=archived&eid=46