Before you move to HTTP/3 ...

  Рет қаралды 15,433

Hussein Nasser

Hussein Nasser

Күн бұрын

HTTP/3 is getting popular in the cloud scene but before you migrate to HTTP/3 consider its cost. I explore it here.
0:00 Intro HTTP/3 is getting popular
3:40 HTTP/1.1 Cost
5:18 HTTP/2 Cost
6:30 HTTP/3 Cost
blog.apnic.net/2023/09/25/why...
Discovering Backend Bottlenecks: Unlocking Peak Performance
performance.husseinnasser.com
Fundamentals of Backend Engineering Design patterns udemy course (link redirects to udemy with coupon)
backend.husseinnasser.com
Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon)
network.husseinnasser.com
Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon)
database.husseinnasser.com
Follow me on Medium
/ membership
Introduction to NGINX (link redirects to udemy with coupon)
nginx.husseinnasser.com
Python on the Backend (link redirects to udemy with coupon)
python.husseinnasser.com
Become a Member on KZbin
/ @hnasr
Buy me a coffee if you liked this
www.buymeacoffee.com/hnasr
Arabic Software Engineering Channel
/ @husseinnasser
🔥 Members Only Content
• Members-only videos
🏭 Backend Engineering Videos in Order
backend.husseinnasser.com
💾 Database Engineering Videos
• Database Engineering
🎙️Listen to the Backend Engineering Podcast
husseinnasser.com/podcast
Gears and tools used on the Channel (affiliates)
🖼️ Slides and Thumbnail Design
Canva
partner.canva.com/c/2766475/6...
Stay Awesome,
Hussein

Пікірлер: 25
@hnasr
@hnasr 7 ай бұрын
I cover HTTP/3 in details on my backend engineering course check it out backend.win
@hnasr
@hnasr 7 ай бұрын
Will moving QUIC to kernel make a huge difference? Let us explore this.. today in QUIC the raw UDP packets are copied from kernel receive buffer to user space, then decrypted and parsed by the user process. Because QUIC is a transport protocol it has to implement ACKs/retransmission/congestion control. ACKs are sent from userspace as just another UDP packet (inside it the QUIC ACK) that is copied to kernel send buffer. whereas if QUIC was in kernel, all this logic will be there and the only thing that will be copied to userspace is pure stream data. i also imagine the kernel can do tricks as it does in TCP like segment coalescing to reduce header size because it has more context. plus context switching. i don’t know to be honest it if it will make a huge difference but all the copying back and forth can add up for sure good change.
@dario.lencina
@dario.lencina 3 ай бұрын
Yup, there's no free lunch, HTTP3 introduces cpu overhead, but that is ok, you get so much better performance at the network layer that i tis worth paying.
@swedishguy83
@swedishguy83 7 ай бұрын
Great video! I don't think HTTP/3 will replace the other protocols in all scenarios but it's definitely an interesting addition to the toolbox.
@seonwookim9595
@seonwookim9595 7 ай бұрын
Maybe we should consider not only the time it takes to decrypt QUIC messages, but also the advantages of skipping protocol handshakes(TCP).
@kirillzlobin7135
@kirillzlobin7135 4 ай бұрын
That would be great to have a video on HTTP status codes. For now all info available is just that 200 is ok and 404 is not found. But no one talks about the difference between 301 and 302 for example. 304 and a lot of codes that are useful
@autohmae
@autohmae 7 ай бұрын
2:30 I think it's important to understand we can push changes in the protocol through a simple browser update. Most of the time. The real issue might be performance of UDP in kernel/hardware-offloading, etc.
@vladimir_v_it
@vladimir_v_it 2 ай бұрын
Thank you! To establish this encrypted connection should I make request to 443 port with ALPN=http3? Or it works in another way?
@tak68tak
@tak68tak 7 ай бұрын
i want to know a ratio btween HTTP vs non-HTTPs such as gRPC, TCP socket, something native apps use.
@toniferic-tech8733
@toniferic-tech8733 7 ай бұрын
I don’t share your concerns over processes performance in userspace. It’s easier to get better performance by optimization than by moving a process to kernelspace. I’m surprised you didn’t mention the lack of QUIC support in regular modern Linux server distributions, as the OpenSSL project still hasn’t implemented it yet. No soup for you on Linux, unless you’re prepared to self-compile your crypo-libs. So that’s another reason for slow adoption.
@hkupty
@hkupty 7 ай бұрын
I'm wondering if eBPF could be a solution to lower the userspace cost of the protocol...
@hnasr
@hnasr 7 ай бұрын
that is a great point! i think it is
@Serpher1
@Serpher1 7 ай бұрын
HTTP/3 exists big tech: *oh yeah gimmie all of it*
@DejayClayton
@DejayClayton 7 ай бұрын
Volume +2
@kanemetal
@kanemetal 7 ай бұрын
great content, however the microphone picks up constant banging vibrations and it really is painful for those that are sensitive to that sort of thing, otherwise thanks!
@biswanathdutta4219
@biswanathdutta4219 7 ай бұрын
Kernel also consumes CPU
@biswanathdutta4219
@biswanathdutta4219 7 ай бұрын
Userspace code can evolve faster than kernel code.
@samhadi7972
@samhadi7972 7 ай бұрын
Yea I think the concern should be the context switching back and forth rather than the kernel code being “faster”
@biswanathdutta4219
@biswanathdutta4219 7 ай бұрын
@@samhadi7972 kernel bypass techniques will become more popular over time.
@JacobGextrem
@JacobGextrem 7 ай бұрын
I thought you can run HTTP/3 and HTTP/2 without encryption, can't you?
@ryanseipp6944
@ryanseipp6944 7 ай бұрын
HTTP/2 allows for non-TLS connections. Normally ALPN negotiates HTTP/2 when the TLS connection is established, but there's a special string that indicates HTTP/2 when not connecting with TLS. QUIC on the other hand requires encryption, and thus so does HTTP/3
@JacobGextrem
@JacobGextrem 7 ай бұрын
@@ryanseipp6944 Thank you, that makes sense
@hariharasudhans
@hariharasudhans 2 ай бұрын
HTTP/2 you can. HTTP/3 you can't ask most of the encryption is done at QUIC layer and it's mandatory there.
How Shopify’s engineering improved database writes by 50% with ULID
31:23
WebTransport is a Game Changer Protocol
14:23
Hussein Nasser
Рет қаралды 52 М.
I Need Your Help..
00:33
Stokes Twins
Рет қаралды 122 МЛН
Miracle Doctor Saves Blind Girl ❤️
00:59
Alan Chikin Chow
Рет қаралды 34 МЛН
100😭🎉 #thankyou
00:28
はじめしゃちょー(hajime)
Рет қаралды 17 МЛН
1🥺🎉 #thankyou
00:29
はじめしゃちょー(hajime)
Рет қаралды 64 МЛН
I ask this question to every Backend Engineer I interview
11:44
Hussein Nasser
Рет қаралды 369 М.
Top 7 Ways to 10x Your API Performance
6:05
ByteByteGo
Рет қаралды 303 М.
A Deep Dive in How Slow SELECT * is
39:24
Hussein Nasser
Рет қаралды 36 М.
What happens before the Backend gets the Request
51:26
Hussein Nasser
Рет қаралды 45 М.
They made Kafka 80% faster by switching file systems
31:30
Hussein Nasser
Рет қаралды 32 М.
POCO F6 PRO - ЛУЧШИЙ POCO НА ДАННЫЙ МОМЕНТ!
18:51
Куда пропал 3D Touch? #apple #iphone
0:51
Не шарю!
Рет қаралды 509 М.