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.
Add to Wishlist
Performance Engineering
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:
- Core Java Basics
- Database Knowledge basics
- Performance Testing tools experience - JMeter/LoadRunner
Performance Engineering