Overview
Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the challenges and innovations behind building a high-performance web server in this in-depth conference talk. Delve into the architecture of ASP.NET Core's Kestrel, a cross-platform web server based on libuv that has contributed to ASP.NET Core's impressive 20x speed increase over its predecessor. Learn about advanced techniques for reducing garbage collection, implementing memory pools, and optimizing async/await operations. Discover how the team leveraged AsyncAwaitReadAsync, SocketInput, and memory diagrams to enhance performance. Gain insights into the use of Advanced Vector Extensions (AVX), numerix operations, and efficient loop structures. Examine the intricacies of handling carriage returns, implementing binary search algorithms, and optimizing vector sizes. Understand the rationale behind choosing libuv and its integration into the stack. Uncover the complexities of header field processing and response generation in this comprehensive exploration of modern web server design.
Syllabus
Introduction
Reducing garbage collection
What is a memory pool
AsyncAwait
ReadAsync
SocketInput
Memory diagram
bytes
peak
start line
advanced vector extensions
AVX
numerix
for loops
vector sizes
carriage returns
pull request
binary search
loop over vector
final research
call to seek
call response
libuv
in our stack
we chose this one
header fields
Taught by
NDC Conferences