Performance Engineering

Enrolled: 0 students
Duration: 40 hours
Lectures: 14
Video: Get Recorded Video
Level: Instructor-Led Training (ILT)

EduLearnIT presents an Extensive and highly interactive “Performance Engineering” Course by our industry expert with 14+ years of hands-on experience. Learn all the Performance Engineering concepts with hands-on practical examples. The course syllabus is designed by considering the current job market trends and industry requirements.

Starting Course

1
Introduction To Performance Engineering (PE)
  • Skill set required to be a successful performance engineer
  • Where do we lag as a performance tester when it comes to PE
  • Various engineering activities & tools across SDLC
  • What is expected from a Performance engineer during the interview as well as during the project execution
2
Think Like A Developer
  • Java Performance Engineering/JVM Architecture
  • Why Java &Get Your Basics
  • JDK/JRE/JVM
  • Get the understanding of JVM architecture (Memory management / Threads/Execution engine)
  • Types of JVM and its performance impact.
  • Think like a Developer to be a good performance engineer
  • Get Hands On and start writing small programs
  • Setting up Java Environment/Eclipse
  • Practical understanding of JVM components with the new java project/programs
3
Thread Analysis
  • Introduction to Various real time performance Issues, its impact, engineering approach to address the issues.
  • Introduction to Java Threads
  • How Java threads are handled by JVM
  • Thread status and how to analyse the health of the thread during the load test execution
  • How and when to take Thread Dumps
  • Tools (jvisual vm/jprofiler)/Command line functions & step by step process to take the thread dump
  • How to analyze the Thread Dump and identify the bottlenecks
  • Practical examples with real time application & code to create thread issues and conduct thread dump analysis
  • Fixing the code post recommendation and to observe the impact
  • Thread configuration in server and its impact on the performance
  • Thread connection pool concepts and how it works. Tools :Eclipse/Tomcat/Java project/JvisualVM/Jprofiler/io/IBMTMDA
4
Java Memory Management Part 1
  • Deep dive into Memory allocations
  • How memory works Stack & Heap
  • Role Of Metaspace
  • Tuning the Java Memory Settings
  • Practical explanation of creating memory issues/Leaks and Monitoring the heap
  • How to connect java process with jvisualvm/jprofiler to monitor the heap
  • How and when to take the heap dump
  • Heap dump analysis and finding the possible root cause of the memory leaks.
5
Java Memory Management Part 2 – Garbage Collection
  • Introduction to GC concepts and how JVM manages memory via GC
  • JVM GC collectors Serial/Parallel/CMS/G1
  • Tuning GC components
  • Old/young generations, survivor space
  • Practical examples & code walkthrough to show the memory issues/ how GC works.
6
Cpu Profiling & Response Time Analysis
  • CPU Hotspots Troubleshooting High response time issues
  • Troubleshooting High response time issues
  • How to use Jprofiler to identify bottlenecks
  • Practical examples with real time application to createissues and identify the bottleneck at class/methods
7
Monitoring Strategy Before/During/After Load Test Execution
  • Architecture overview as part of monitoring strategy
  • Setting up the right monitors to collect metrics
  • Various tools and methodology to monitor and collect performance metrics during load test
  • Detailed overview on Linux monitoring and tools
  • Nmon/vmstat/top/iostat/telegraf/Jconsole
  • Walkthrough on important performance counters
  • Practical session on monitoring/using these tools in linux/windows machines with realtime applications
  • verview on Network Monitoring tools to understand the network related bottleneck with practical examples
  • Appdynamics – Agent configuration and Monitoring
8
Client Side Performance Engineering
  • Why client / browser side performance
  • What are the common client side performance issues
  • Tools and methodology to analyze the performance issues
  • Automating the client side performance
  • Browser APIs to collect client side statistics
  • How to provide Recommendations
  • Practical examples with real time applications to understand the issues/ provide recommendations with the fixes
9
Database Performance
  • Relational & NoSQL Database
  • Performance considerations
  • Oracle Process Architecture
  • Oracle Memory architecture
  • Tablespace and how it is managed
  • Database Monitoring
  • Automatic Workload Repository(AWR)
  • How and when to take AWR reports for performance analysis
  • Automatic Database Diagnostic Monitor (ADDM)
  • Practical examples of database issues in AWR reports
10
Introduction To Production Monitoring
  • Synthetic monitoring & Real User Monitoring
  • Walk through of various techniques/tools available for synthetic monitoring
  • Alerts & production like scenarios
  • Real user monitoring tools – Firebase/google analytics/TeaLeaf
11
Nonfunctional Requirements And Engineering Strategy
  • Workload definition – Performance engineering strategy
  • Templates for creating engineering plan/strategy
  • Performance engineer role in Architecture /Design review
  • Defining SLA & SLO for applications / Individual components
12
Bonus Section Of Introduction To Devops (Continuous Testing)
  • Jmeter/Jenkins integration
  • Continuous automated monitoring using Appdynamics in devops
13
Introduction To Cloud & Resiliency Engineering
  • Introduction to AWS & Azure Cloud monitoring tool
  • What is Resiliency engineering & why it is required
  • Tools
  • Various failure scenarios – CPU burn/diskburn/server crashes
14
Bonus Topics
  • Linux for performance testers and engineers
  • Synthetic monitoring concepts and how to do synthetic monitoring using dynatrace
  • Cloud watch monitoring
• Who wanted to transform themselves from performance tester to performance engineer (OR) • Have hands-on experience in performance testing tools like LoadRunner or JMeter or any other tools. (OR) • Java developers who wanted to start their journey towards the role of enterprise architect and get knowledge in performance optimization ans monitoring. (OR) • Has Basic knowledge in performance testing concepts and worked as a performance tester or test lead atleast for 1 to 2 years.
• You will be able to start playing a role of performance engineer – Just not identifying defects but to troubleshoot and identify bottlenecks and provide recommendations. • You will be able to do the architecture review and provide engineering strategy, plan & monitoring approach for both performance & production servers. • You will be able to easily handle interview questions and position yourself as a performance engineer. • You will be able to get a very good view on new performance engineering trends – devops, cloud, resiliency and mobile. • You will be able to confidently talk to developers & architects on the performance issues,bottlenecks & recommendations

Performance Engineering is one of the important and demanding skills in IT. It is good to have below pre-requisites knowledge to get started with this journey:

  1. Core Java Basics
  2. Database Knowledge basics
  3. Performance Testing tools experience -  JMeter/LoadRunner
Performance Engineering