Currently Empty: £0.00
Welcome to the course “Performance Optimization”. This course is designed to help you get started to understand the primers of performance affecting your application and how you can tune these primers.
There could be a lot of factors that might affect the performance of your application. For example, the TCP connection parameters, webserver related optimization, tools that will help for performance debugging and tuning. We will be covering these topics in this course.
The application code itself can affect the performance of the application single handedly but the application code optimization is beyond the scope of this course.
We will be continuously improving the course by adding more topics around performance optimization.
However, we are open to your feedback. If you think some more topics around optimization should be included in the course then feel free to suggest us and we will try to create more videos on it and will append to this course.
What you will learn:
-
What is performance/speed, its components and why is it important to address it
-
What are the primers of Optimization
-
What is TCP/IP and how it works
-
What all factors affects TCP connections and how you can optimize it
-
Understanding Bandwidth Delay Product and optimizing using BDP with a Demo and actual calculation
-
What is HTTP1.X and its limitation. How HTTP2 overcomes the limitations of HTTP1.X and added improvement?
-
TCP Optimization Demo
-
Various Optimization for a Webserver (Nginx) including fastcgi cache, http2, compression etc.
-
Various Tools to help you optimize for example: ethtool, tuned
-
How to start optimizing and when to stop
-
Evergreen performance best practices
Intended Learners:
-
DevOps Engineers
-
System Administrator
-
IT Engineers
-
DevOps Aspirants
-
CloudOps Engineers
-
Cloud Engineers
-
Platform Engineers
-
SRE (Site Reliability Engineers)
Prerequisites:
-
Basic Understanding of Linux
-
Knowledge about Nginx & how it works
-
Basic Understanding of TCP/IP
-
How a web application works
Important Concepts
TCP/IP
-
4What is Performance/Speed & why is it important
What is performance/Speed and Why it is necessary to improve the speed.
-
5Components of Latency
Understanding different components of latency and Bufferbloat issue at router
-
6Last Mile Latency
Understanding what is Last mile latency and checking it through traceroute command. Understanding from command result
HTTP1.X
-
7What is TCP/IP
Understanding what is TCP/IP
-
8Understanding Three-way Handshake
What is TCP 3-Way Handshake. Steps involved in TCP 3-Way handshake
-
9TFO - TCP Fast Open
What is TFO (TCP Fast Open) and why it was introduced.
-
10Congestion Flow Control & Window Scaling
Congestion Collapse issues and how it is solved by Congestion avoidance and flow control mechanism. The rwnd and cwnd helping to avoid congestion collapse.
-
11Window Scaling Demo
Demo of enabling window scaling using commands and also setting it permanently.
-
12Slow Start (Cwnd)
What is slow start & Cwnd. Why Slow start is needed and how streaming is achieved to maximum available bandwidth using Cwnd.
-
13Slow Start Example
Understanding Slow Start with example and how it can improve performance.
-
14Connection Reuse
What is connection reuse and how it can improve performance?
-
15Congestion Avoidance
Understand what is congestion avoidance and under which circumstances it kicks in and how it works.
-
16Understanding BDP - Bandwidth Delay Product
Understanding BDP - Bandwidth Delay Product
HTTP2
-
17HTTP0.9 & HTTP1.1 Introduction (Capabilities & Limitations)
What was HTTP0.9? What is HTTP1.1? Their capabilities & limitations.
-
18KeepAlive Connections
-
19HTTP Pipelining
-
20Multiple TCP Connections
Understanding multiple TCP connection
-
21Domain Sharding
-
22Concatenation & Spiriting
What is concatenation & Spiriting? What are their benefits and limitations?
TCP Optimization
Webserver Optimization (Nginx)
-
26TCP Optimization
What all TCP Optimization you can do? A checklist to help get started with TCP optimization.
-
27Sockets Introduction
What is a socket and how an application communicate.
-
28TCP Tuneables & Demo
-
29BDP Demo With Calculation & Tuning (Bandwidth Delay Product)
Demo of BDP calculation and how to tune based on BDP calculation
-
30Head of Line Blocking
Understanding what is head of line blocking effect?
Optimization Methodology
-
31Nginx Installation - AWS EC2
Steps to install Nginx on AWS EC2 instance.
-
32Expires headers
What are Expires headers? How to add headers to resources in Nginx? How Expires headers can be useful?
-
33Compression
What is gzip? How resources can be compressed at webserver level. How to use gzip with Nginx?
-
34Implementing HTTP2 in Nginx
-
35Nginx FastCGI Cache
-
36Server Push & Nghttp2 Tool
Conclusion
-
37How To Start Tuning - Guideline
-
38Ethtool Introduction
Ethtool Introductioin
-
39Ethtool Demo
How to use ethtool?
-
40Tuned Introduction & Demo
What is Tuned. How to install tuned and how to start using it.
-
41Tuned Custom Profile Demo
How to create custom profile in using Tuned tool and how to apply it
-
42Tuned Deep Dive
Detailed explanation on how to use tuned tool for making changes in tuned profiles.
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
Stars 5
5
Stars 4
0
Stars 3
1
Stars 2
0
Stars 1
0