Performance Bottleneck Identification through Software Diagnostics- Impetus Webinar


Published on

Impetus Webinar on ‘Performance Bottleneck Identification through Software Diagnostics’

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Performance Bottleneck Identification through Software Diagnostics- Impetus Webinar

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