Linux 5.1 引入的 io_uring 彻底改变了高性能
I/O 的游戏规则。本系列文章将带你深入了解这一革命性技术。
目录
- io_uring
核心概念:颠覆性的异步 I/O
- 介绍 Submission Queue (SQ) 和 Completion Queue (CQ)
- 理解 Proactor 模式与 Zero Copy
- 为什么它比 AIO 更好?
- io_uring vs
epoll:性能与架构的较量
- 系统调用开销对比
- 内存拷贝与上下文切换
- Reactor (epoll) vs Proactor (io_uring) 的本质区别
- liburing 基础 API
详解:从 Hello World 到文件 I/O
- 从
io_uring_queue_init到io_uring_submit - 编写第一个 io_uring 文件读取程序
- 从
- 实战:基于 io_uring 的
TCP Echo Server
- 网络编程实战:Accept, Read, Write 链式处理
- Context 管理与 user_data 技巧
- 高级特性:榨干性能极限
- SQPOLL (0 Syscall)
- Fixed Files & Fixed Buffers
- Provided Buffers (IOSQE_BUFFER_SELECT)
- Libevent 对
io_uring 的支持现状
- Libevent 2.2+ 的 io_uring backend
- 集成现状与性能评估
延伸阅读
- Lord of the io_uring (外部链接)
- liburing GitHub Repository (外部链接)