Upload
impetus-technologies
View
1.082
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Impetus Webinar on ‘Performance Bottleneck Identification through Software Diagnostics’
Citation preview
Identifying Software Performance Bottlenecks using Diagnostic Tools
byImpetus Technologies
Recorded version available at http://www.impetus.com/webinar_registration?event=archived&eid=46
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
Typical Process of Bottleneck Identification
Extensive time, resources, and efforts involved
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
How Diagnostic Tools Work?
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
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
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
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
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
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
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
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
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
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
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
Questions
Please send in your questions
using the chat panel
Recorded version available at http://www.impetus.com/webinar_registration?event=archived&eid=46
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