3.5 小结
3.5 小结
本文和读者一起,进入 Linux 异步 IO 的世界。
- 首先讨论了 disk io 为什么无法使用 epoll 技术 - 0.1 节
- 讨论了是否有必要非用异步 IO 不可 - 0.2 节
- 了解了 Linux AIO 的贡献和缺点 - 1 节
- 进入 io_uring 的世界,编写例程探索其 io 模式,分析性能指标 - 2 节
- 回过头来,了解了 Go 和 tokio 对磁盘 io 的处理思路 - 3 节
恭喜!我们终于漫步结束了单机 IO 的世界,这下终于听懂了存储开发者们对于单机 IO 的讨论、思路、关心点和术语。
接下来,稍作休整,我们即将正式进入分布式王国,考察和学习分布式存储的模式、思想、技术!
其他
本文没有讨论但值得调研的技术:
- 极致的性能需求,Storage Performance Development Kit (SPDK) 用户态存储技术。
- 线程模型:Reactor、Preactor、Run To Complete (RTC)、有栈协程和无栈协程。
- 磁盘 IO 调度:在不同线程下的磁盘 IO 分配、磁盘性能预测和限流、流量整形。
- 文件系统:ext4 与 xfs 对不同 IO 模型的性能比较。