epoll: The API that powers the modern internet · Graham King
darkcoding.net · 1,063 words · saved by 1 readers
Linux's epoll API solved the C10K problem, enabling fast and afforable Internet services.
Summary I used epoll, a crucial Linux feature, to efficiently handle network requests on the Internet. This allows Go to excel in server programming, powers nginx as the leading web server, and facilitates 'async' programming in languages like Rust. Before epoll, servers relied on process or thread pools, which struggled with scaling and performance during high traffic, as highlighted by the C10K problem. Epoll, introduced by Davide Libenzi in 2001, revolutionized the handling of thousands of concurrent connections by enabling a single thread to manage many sockets efficiently. It employs a ma
related reading
- The C10K problemkegel.com
- The Law of Leaky Abstractions – Joel on Softwarejoelonsoftware.com
- Beej's Guide to Network Programmingbeej.us
- Git at any scalecursor.com
- QUIC is not quick enough over fast internetnews.ycombinator.com
- What Async Promised and What it Delivered — Causalitycausality.blog
- The Architecture of Open Source Applications (Volume 2)nginxaosabook.org
- Let’s Handle 1 Million Requests per Second, It’s Scarier Than You Think!youtube.com
- The ultimate SO_LINGER page, or: why is my tcp not reliableblog.netherlabs.nl
- Everything I know about good API designseangoedecke.com
- Let's code a TCP/IP stack, 1: Ethernet & ARPsaminiir.com
- Devlog ⚡ Zig Programming Languageziglang.org