Serving files over HTTP three ways: synchronous, epoll, and io_uring
Summary
The article compares a synchronous thread-per-request HTTP server with epoll-based and io_uring-based implementations on Linux, explaining how each IO model handles network and disk IO. It provides code sketches and practical insights into performance tradeoffs for high-concurrency file serving.