JVM Performance Engineering & Troubleshooting

What will you learn?

JVM is the most popular programming platform in the world. It empowers several enterprises to reach its scalability, performance, availability, functionality goals. In this training program, engineers will be taught how to isolate, detect and fix complex performance problems. They will be taught what tools to use for what problems? How to use those tools effectively?  They will learn effective techniques & patterns to trouble shoot production problems.

Training program includes

  • ‘ah ha’ moments provoking presentations
  • Hands-on training on sophisticated tools
  • Lab exercises on real-world dumps
  • Best practice recommendations

After this training program, engineers will be equipped with necessary knowledge to optimize CPU, memory and response time.

Training Period

2 days. 9:00am – 5:00pm

For Whom?

Developers, Architects, Operation Engineers, Performance QA Engineers and anybody interested in building highly scalable, performant applications.

Computer Requirements

Engineer should come with his Laptop that has JDK 7 or 8 installed. Laptop should have internet connectivity & http://tier1app.com/ website should be accessible. Slides, Code and sample dumps will be provided electronically during training session.


Agenda

Day 1: Morning Session

What are Performance Problems?

What is JVM? Why it will outlive Java?

Anatomy of JVM

GC Log

  • How to capture GC Log?
  • Understanding GC Log
  • Diamond GC – Universal GC Analyzer
  • Instrumenting GC Logs
  • Analyze sample GC Logs
  • Let’s analyze your app’s GC Log

Day 1: Afternoon Session

Why Memory Leaks?

  • lang.OutOfMemoryError: Java heap space
  • lang.OutOfMemoryError: PermGen space
  • lang.OutOfMemoryError: Kill process or sacrifice child
  • lang.OutOfMemoryError: GC overhead limit exceeded
  • lang.OutOfMemoryError: Metaspace
  • lang.OutOfMemoryError: request bytes. Out of swap space?
  • lang.OutOfMemoryError: unable to create new native thread
  • lang.OutOfMemoryError: Requested array size exceeds VM limit

Which GC Algorithm to use?

Yes, you can catch Memory Leaks in Test

Heap Dump

  • How to capture Heap Dump? JMAP, -XX:+HeapDumpOnOutOfMemoryError
  • Tool: jhat, Eclipse Mat
  • Analyze sample Heap dumps

Day 2: Morning Session

Why CPU spikes up? What are the root causes?

Diagnose CPU spikes

Thread Dump

  • How to capture Thread Dump? jstack, JVisualVM
  • Understanding Thread Dumps
  • 10 key Thread Dump analysis Patterns
  • Thread Express – Universal Thread Dump Analyzer
  • Analyze sample Thread dumps

Day 2: Afternoon Session

Why I/O problems arises? What are the root causes?

Tools to diagnose I/O Problems

  • Timer
  • netstat

Other Tools, know – how

  • Jvisualvm
  • Profiler
  • new Relic
  • ruxit

Inquiries: If you are interested in attending our training sessions or to learn more about our trainings mail us: team@tier1app.com

Advertisements

2 thoughts on “JVM Performance Engineering & Troubleshooting

Add yours

  1. Hi,
    I would like to attend this class. Please let me know when you schedule it for next time.
    Hope online classes also available since I am from India.
    Please share your mail id and other details.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

Up ↑

%d bloggers like this: