4.75 out of 5
4.75
6 reviews on Udemy

Web Performance Optimization Tuning – TCP/IP + Nginx + Linux

TCP/IP + Nginx + Linux Performance Tuning for Improved Web Performance
Instructor:
Ajeet Khan
83 students enrolled
English [Auto]
What are primers of Speed & Optimization
How TCP/IP Works and how to optimize it
Understanding BDP (Bandwidth Delay Product) with live demo and optimizing it
Understanding HTTP1.X and HTTP2
HTTP2 Demo
Optimizing Nginx Webserver - Hands-on
Tools which can help in optimization

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

Introduction

1
About Instructor

About Instructor - Ajeet Khan
7+ Yrs of DevOps Experience.
Udemy Instructor
AWS Certified
CKA Certified
AWS Community Builder
YouTuber

2
Course Introduction
3
Udemy Tips

How to make use of Udemy Video Player to have good experience watching the course

Important Concepts

1
What is Performance/Speed & why is it important

What is performance/Speed and Why it is necessary to improve the speed.

2
Components of Latency

Understanding different components of latency and Bufferbloat issue at router

3
Last Mile Latency

Understanding what is Last mile latency and checking it through traceroute command. Understanding from command result

TCP/IP

1
What is TCP/IP

Understanding what is TCP/IP

2
Understanding Three-way Handshake

What is TCP 3-Way Handshake. Steps involved in TCP 3-Way handshake

3
TFO - TCP Fast Open

What is TFO (TCP Fast Open) and why it was introduced.

4
Congestion 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.

5
Window Scaling Demo

Demo of enabling window scaling using commands and also setting it permanently.

6
Slow Start (Cwnd)

What is slow start & Cwnd. Why Slow start is needed and how streaming is achieved to maximum available bandwidth using Cwnd.

7
Slow Start Example

Understanding Slow Start with example and how it can improve performance.

8
Connection Reuse

What is connection reuse and how it can improve performance?

9
Congestion Avoidance

Understand what is congestion avoidance and under which circumstances it kicks in and how it works.

10
Understanding BDP - Bandwidth Delay Product

Understanding BDP - Bandwidth Delay Product

HTTP1.X

1
HTTP0.9 & HTTP1.1 Introduction (Capabilities & Limitations)

What was HTTP0.9? What is HTTP1.1? Their capabilities & limitations.

2
KeepAlive Connections
3
HTTP Pipelining
4
Multiple TCP Connections

Understanding multiple TCP connection

5
Domain Sharding
6
Concatenation & Spiriting

What is concatenation & Spiriting? What are their benefits and limitations?

HTTP2

1
HTTP2 Introduction

What is HTTP2 and what are it's benefits

2
HTTP2 Binary Framing Layer

What is Binary Framing in HTTP2

3
Streams, Messages & Frame

TCP Optimization

1
TCP Optimization

What all TCP Optimization you can do? A checklist to help get started with TCP optimization.

2
Sockets Introduction

What is a socket and how an application communicate.

3
TCP Tuneables & Demo
4
BDP Demo With Calculation & Tuning (Bandwidth Delay Product)

Demo of BDP calculation and how to tune based on BDP calculation

5
Head of Line Blocking

Understanding what is head of line blocking effect?

Webserver Optimization (Nginx)

1
Nginx Installation - AWS EC2

Steps to install Nginx on AWS EC2 instance.

2
Expires headers

What are Expires headers? How to add headers to resources in Nginx? How Expires headers can be useful?

3
Compression

What is gzip? How resources can be compressed at webserver level. How to use gzip with Nginx?

4
Implementing HTTP2 in Nginx
5
Nginx FastCGI Cache
6
Server Push & Nghttp2 Tool

Optimization Methodology

1
How To Start Tuning - Guideline
2
Ethtool Introduction

Ethtool Introductioin

3
Ethtool Demo

How to use ethtool?

4
Tuned Introduction & Demo

What is Tuned. How to install tuned and how to start using it.

5
Tuned Custom Profile Demo

How to create custom profile in using Tuned tool and how to apply it

6
Tuned Deep Dive

Detailed explanation on how to use tuned tool for making changes in tuned profiles.

Conclusion

1
Evergreen Optimization Best Practices - Part 1
2
Evergreen Optimization Best Practices - Part 2
3
Ending Note

Quiz

1
Performance Optimization Quiz
You can view and review the lecture materials indefinitely, like an on-demand channel.
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!
4.8
4.8 out of 5
6 Ratings

Detailed Rating

Stars 5
5
Stars 4
0
Stars 3
1
Stars 2
0
Stars 1
0