Platinum Sponsors

SUN

ELCA

Gold Sponsors

Silver Sponsors

Partners

Partner events

Claudio Miranda

Claudio Miranda

(3320) Tools and Tips to Diagnose Performance Issues

Technical long talk 50 min

Tuesday, 2008-06-24, 17:30 - 18:20, Arena 3

Claudio Miranda - Summa Technologies (speaker)

Rate this talk:

Topics

Download the presentation

Abstract

At this speech I want to provide to the audience, my experience on Java 
technology related to solve performance issues on applications at development 
and production stage. I want to point 3 main artifacts: tools, tips and 
performance patterns.

* Which tools ?
Almost everywhere (mailing lists, forums, websites) people like to recommend a 
profiler tools to help find some cpu or memory issue.

At this point I want to provide 2 different scenarios: intrusive vs. non 
intrusive tools, as they are monitoring and profiling.

Intrusive tools, are those where it needs many configuration details to start to 
use (configure jvm parameters, native libraries, OS permission, internet 
connectivity, buy software, source code available, debug mode), like profilers 
and debuggers.

Non intrusive tools, are those that someone can just monitor the system and do 
some systems dumps to later analyze them.

At this point I want to provide which tools are best used on specific 
scenarios.
Tools like: JVM monitoring (jstat, jstack, jconsole, jinfo, jmap), VisualGC, SAP 
Memory Analyzer, IBM Heap Roots, IBM Heap Analyzer, Thread Dump Analyzer, 
NetBeans Profiler, JXInsight, etc.

* Which tips ?

When customer calls for help and the application is running in production, they 
are desperate, because their system is not being capable to support its 
business. At this point is very interesting, to understand the situation to 
better analyze the IT ecosystem there.

Then I want to provide my expertise, and talk about my little process to 
understand, analyze, test and solve the whole issue, and not get in to the same 
desperate bandwagon as the customer staff are.

* Performance Patterns

There are some programming patterns, that is very easy to see and grab some 
performance issues there, like:
- bad logging configuration 
- pools not aligned (database, threads, http request, etc.)
- GC algorithms (too much gc)
- cache (remove unneeded objects)
- parsing and serialization (memory and I/O)
- database usage (bad queries)

This is an session for experienced developers.

Media Partners

APRESS
inside-it
netzwoche
developpez
MokaByte