(评论)
(comments)
原始链接: https://news.ycombinator.com/item?id=43916577
这个Hacker News帖子讨论了PostgreSQL 18即将推出的特性:用于加速磁盘读取的异步I/O (AIO)。讨论涵盖以下几个方面:
* **实现细节:** AIO特性在Linux上利用io_uring(需要`liburing`)。一种使用I/O工作进程的“工作进程”方法提供了更广泛的操作系统兼容性,其性能优于当前的同步方法。
* **优化:** 使用`preadv2(..., RWF_NOWAIT)`进行的实验显示增益有限,因为存在开销。内核/用户空间内存复制瓶颈,尤其是在启用SMAP的情况下,已被识别出来。内核中的Folio工作可能会有所帮助。
* **直接I/O:** 直接I/O是未来的目标,目前可以通过`debug_io_direct`进行测试,但存在一些注意事项。
* **其他平台:** 正在探索用于Windows上基于IOCP的I/O的补丁,并且计划提供FreeBSD AIO补丁。
* **性能与安全:** 讨论涉及云存储的限制、可实现的实际IOPS以及io_uring的安全性问题,建议进行逐案风险评估。还提到云资源受到限制:网络、IOPS和CPU。
reply