Performance Bottleneck Identification

10,215 views

Published on

Presentation to illustrate process to identify performance bottlenecks in a J2EE application

Published in: Technology
1 Comment
7 Likes
Statistics
Notes
No Downloads
Views
Total views
10,215
On SlideShare
0
From Embeds
0
Number of Embeds
34
Actions
Shares
0
Downloads
0
Comments
1
Likes
7
Embeds 0
No embeds

No notes for slide

Performance Bottleneck Identification

  1. 1. Identifying Performance Bottlenecks<br />Mustufa Batterywala<br />Lead Performance Engineer<br />http://batterywalam.wordpress.com/<br />
  2. 2. A bottleneck is any resource hardware, software or network that limits the performance of an application<br />These are found at each and every tier/component of an application<br />Resolving the bottlenecks requires special tools and skills<br />What is a bottleneck?<br />
  3. 3. Response times get slower<br />In efficient resource utilization<br />Application is not scalable<br />Supports less number of concurrent users<br />Loss in business revenue due to less customer satisfaction<br />System crash<br />Impact of Performance bottlenecks<br />
  4. 4. J2EE applications are very complex<br />Presence of multiple components and layers<br />Complex code written by multiple teams<br />Large spectrum of technologies<br />Challenges in Identifying Bottlenecks in J2EE<br />
  5. 5. Load Testing tools<br />HP Load Runner, Jmeter, SandStorm<br />Profilers<br />Yourkit, Jprobe, JProfiler<br />Diagnostic tools<br />HP Deep diagnostics, Dynatrace, InfraRed<br />GC Analyzers<br />jConsole, HP jtune, <br />Resource monitoring tools<br />Windows perfmon, vmstat, JMX, SNMP monitors<br />Tools for Identifying Bottlenecks in J2EE<br />
  6. 6. Run the load tests to measure the current performance of an application<br />Use a diagnostic tool during the load test to identify bottleneck layers/components<br />Use the profiler to further debug the problematic code and fix it<br />Monitor and analyze the heap usage of the app server<br />Monitor and analyze the resource consumption of the servers on which application being tested is deployed<br />Process of Identifying Bottlenecks in J2EE<br />
  7. 7. Can be used during load test<br />Provides tier wise breakdown of transaction response times<br />Helps in identifying the bottleneck component, tier<br />Less overhead on the system under test<br />Diagnostic tools<br />
  8. 8. Provides information on method executions, call traces, memory utilization, thread execution details<br />Helps in identifying the bottleneck in a particular section of code<br />Has a huge overhead on the system under test<br />Profilers<br />
  9. 9. Thanks!!!<br />For any queries write to:<br />mustufa2k2000@yahoo.com<br />

×