Performance Engineering

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

Performance Engineering for Performances

Testers, SDET and Java Developers – LIVE


Sessions
2023 batch
Who can enroll in this course?

Professionals who fall under any of the below categories:

 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.

What will I Learn by the end of this course?

 You will be able to confidently talk to developers & architects on the performance
issues,bottlenecks & recommendations
 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.

Salient Features:

 25+ Hours of Live Training along with recorded videos


 Lifetime access to the recorded videos
 Course Completion Certificate

 
Course syllabus:

1. PERFORMANCE ENGINEERING – INTRODUCTION


o Introduction to Performance Engineering
o Performance Engineering Life Cycle
o Activities performed by the Performance Engineer
2. JAVA PERFORMANCE ENGINEERING CONCEPTS
o JVM Architecture
 Understanding JVM Architecture – Class loader Sub system, Method area,
Heap, Stack area, PC Registers, JIT, Execution Engine etc
o JVM performance monitoring
o Java Application monitoring using Open source tools (JConsole,JvisualVM)
 Heap Analysis Using JConsole , JvisualVM
 Thread Analysis Using JConsole , JvisualVM
 Understanding the above concepts using a real time example
o Java application monitoring using commercial tools (Yourkit)
o JVM Heap Structure – Eden, Survivor Space, Tenured Space ( Minor GC , Major
GC , Full GC)
 Configuration of Heap size in JVM ( Xmx , Xms)
o Different types of Garbage collections
 Serial GC
 Parallel GC
 CMS (Concurrent Mark Sweep)
 G1 (Garbage first) GC
o Understanding the JVM thread pooling concepts
 Core Pool Size
 Queuing – Bounded Queue , Unbounded Queue
o JDBC connection pooling
 Detailed understanding of JDBC Connection Pool concepts
o JVM Thread Dump Analysis
 What is Thread dump
 Life Cycle of Threads – New, Runnable ,Waiting , Timed Waiting ,
Blocked , Terminated
 Various Java Thread Dump Tools
 How to capture the Java Thread dumps
 Different techniques to analyze Thread dumps
o JVM Heap Dump Analysis
 What is Heap dump
 Various Java Heap Dump Tools
 How to capture the Java Heap dumps
 Different techniques to analyze Heap dumps
o JVM Garbage collection Analysis
 How to configure the JVM arguments to collect the GC Logs
 How to analyze the GC logs
 Different techniques to analyze GC logs
o JVM Out of Memory Error Analysis
 What is Memory Leak
 What is OutofMemory exception
 Memory leak vs OutofMemory
 How to identify the Memory Leak and OutofMemory issues

3. INFRASTRUCTURE MONITORING
o Windows Servers
 How to Configure PERFMON Counters
 Critical Metrics to monitor in Windows Server
 Swapping vs Paging
 Page Faults
 % Processor Time
 Private Byte
 Available Byte
 Committed Byte
 Virtual Byte
 Processor Queue Length
 % Time in GC
 How to Identify Different Critical Performance Issues Using PERFMON
 Real Time example on how to monitor the Windows Server
 Linux Servers
 LINUX Monitoring Commands –
 Vmstat – Virtual Monitoring Statistics
 iostat – input output Statistics
 netstat – Network Statistics
 top – CPU Consumption
 NMON – Utility to monitor all the infra statistics
 How to extract the report from NMON
 CPU Utilization
 Memory Utilization
 Disk Utilization – Disk Read, Disk Write , Disk Busy , Disk Size
 Critical Metrics to monitor in LINUX Server
 How to Identify Different Critical Performance Issues Using LINUX
Commands
 Real Time example on how to monitor the LINUX Server

4. DATABASE PERFORMANCE MONITORING


o Oracle Database monitoring
o Understanding of Oracle AWR Reports
o ADDM Reports
o Identify Critical DB performance Issues
5. CLIENT-SIDE PERFORMANCE
o Understanding of Front end performance Metrics
o Common Client-side Performance problems
o Browser Rendering Concepts
o Client-side performance tools
 Chrome Dev tools
 GTMetrix
 Webpage Test

6. CODE PROFILING
o What is Code profiling
o Jprofiler
o How to capture and understand the logs in Jprofiler
7. EXPLORING ALL THE ABOVE CONCEPTS USING STANDARD APM TOOL –
Dynatrace
o Real time example to analyse the application performance bottleneck
8. REAL TIME APPLICATION PERFORMANCE ISSUES & PATTERNS
o How to Analyze the production load
o Performance Issues in Production
 Common CPU Related performance Issues
 Common Memory Related Performance Issues
 Common Response time Related Performance Issue

Bonus Topics:

 Python (30+ hours Self-paced videos will be provided)


o An Introduction to Python
 What can Python do?
 Why Python?
 Python Syntax compared to other programming languages
 Python and Anaconda Installation
o Data Types and Operations
 Prints and Comments
 Numbers, Strings, List
 Tuple, Dictionary
 String Operations in Python
 Simple Input & Output
 Simple Output Formatting
 Operators in python
o Python Program Flow
 Indentation
 The If statement and its’ related statement
 An example with if and it’s related statement
 The while loop
 The for loop
 The range statement
 Break &Continue
 Assert
 Examples for looping
o Functions& Modules
 Create your own functions
 Functions Parameters
 Variable Arguments
 Scope of a Function
 Function Documentations
 Lambda Functions & map
 Exercise with functions
 Create a Module
 Standard Modules
o Exceptions Handling
 Errors
 Exception handling with try
 handling Multiple Exceptions
 Writing your own Exception
o File Handling
 File handling Modes
 Reading Files
 Writing & Appending to Files
 Handling File Exceptions
 The with statement
o Classes in Python
 New Style Classes
 Creating Classes
 Instance Methods
 Inheritance
 Polymorphism
 Exception Classes & Custom Exceptions
o Generators and iterators
 Iterators
 Generators
 The Functions any and all
 With Statement
 Data Compression
o Data Structures
 List Comprehensions
 Nested List Comprehensions
 Dictionary Comprehensions
 Functions
 Default Parameters
 Variable Arguments
 Specialized Sorts
o Collections
 namedtuple()
 ChainMap
 Counter
 OrderedDict
 defaultdict
 UserDict
 UserList
 UserString
o Data Modification and Analysis with Pandas
 Defining Pandas
 Pandas – Creating and Manipulating Data
 How to Create Data Frames?
 Importance of Grouping and Sorting
 Plotting Data
o Selenium Python Basics
 Introduction to Selenium Webdriver
 Basic Navigation using selenium on website
 Automation tips

 Core Java (32+ hours Self-paced videos will be provided)


o Installation of jdk , setting up environment variables and eclipse
o Java – Classes/objects/methods/ packages
o Java programs for creating class/objects/packages
o Basics of Strings & arrays
o Java Programs with strings and arrays
o Single Thread Vs Multi Threading concepts
o Java – File handling and sample programs
o Installing mysql database and integration with java program
o Basics of html
o Basic of JSP
o Basics of Servlets
o Compilation and creating jar/war file
o Installation of Tomcat
o Deployment of Java application

You might also like