What will you learn?
JVM is the most popular programming platform in the world. It empowers several enterprises to reach its scalability, performance, availability, and 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 troubleshoot 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.
2 days. 9:00am – 5:00pm
Developers, Architects, Operation Engineers, Performance QA Engineers and anybody interested in building highly scalable, performant applications.
The 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 the training session.
Day 1: Morning Session
What are Performance Problems?
What is JVM? Why it will outlive Java?
Anatomy of JVM
- 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
- 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
- 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
Other Tools, know – how
- new Relic