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

Performance Bottleneck Identification through Software Diagnostics- Impetus Webinar

Embed Size (px)

DESCRIPTION

Impetus Webinar on ‘Performance Bottleneck Identification through Software Diagnostics’

Citation preview

Page 1: Performance Bottleneck Identification through Software Diagnostics- Impetus Webinar

Identifying Software Performance Bottlenecks using Diagnostic Tools

byImpetus Technologies

Recorded version available at http://www.impetus.com/webinar_registration?event=archived&eid=46

Page 2: Performance Bottleneck Identification through Software Diagnostics- Impetus Webinar

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

Page 3: Performance Bottleneck Identification through Software Diagnostics- Impetus Webinar

Typical Process of Bottleneck Identification

Extensive time, resources, and efforts involved

Page 4: Performance Bottleneck Identification through Software Diagnostics- Impetus Webinar

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

Page 5: Performance Bottleneck Identification through Software Diagnostics- Impetus Webinar

How Diagnostic Tools Work?

Page 6: Performance Bottleneck Identification through Software Diagnostics- Impetus Webinar

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

Page 7: Performance Bottleneck Identification through Software Diagnostics- Impetus Webinar

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

Page 8: Performance Bottleneck Identification through Software Diagnostics- Impetus Webinar

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

Page 9: Performance Bottleneck Identification through Software Diagnostics- Impetus Webinar

Client-side Diagnostics

Vastly impacts end user experience Categories of client side

Mobile diagnostics Measuring app performance on mobile device Limited hardware resources

Browser diagnostics Identifies browser bottlenecks in page loading

Recorded version available at http://www.impetus.com/webinar_registration?event=archived&eid=46

Page 10: Performance Bottleneck Identification through Software Diagnostics- Impetus Webinar

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

Browser 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

Page 11: Performance Bottleneck Identification through Software Diagnostics- Impetus Webinar

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

Page 12: Performance Bottleneck Identification through Software Diagnostics- Impetus Webinar

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

Benefits Realised

• Faster performance bottleneck identification• Streamlined and efficient performance engineering• No performance issues in production

Page 13: Performance Bottleneck Identification through Software Diagnostics- Impetus Webinar

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

Benefits Realised

• Monitoring mechanisms in staging environment• Cost saving as same performance testing tool was used

Page 14: Performance Bottleneck Identification through Software Diagnostics- Impetus Webinar

Application Diagnostics Utility

Server side diagnostic plug-in to SandStorm Drill down transaction response times across multiple tiers and

components 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

Page 15: Performance Bottleneck Identification through Software Diagnostics- Impetus Webinar

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

Page 16: Performance Bottleneck Identification through Software Diagnostics- Impetus Webinar

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

Page 17: Performance Bottleneck Identification through Software Diagnostics- Impetus Webinar

Questions

Please send in your questions

using the chat panel

Recorded version available at http://www.impetus.com/webinar_registration?event=archived&eid=46

Page 18: Performance Bottleneck Identification through Software Diagnostics- Impetus Webinar

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