使用基于 io_uring 的异步缓冲写入可将 XFS 中的延迟减少多达 80 倍

一系列补丁已发布并包含在 Linux 5.20 内核中,增加了对使用 io_uring 机制对 XFS 文件系统进行异步缓冲写入的支持。 使用 fio 工具包进行的初步性能测试(1 个线程,块大小 4kb,600 秒,顺序写入)显示每秒输入/输出操作数 (IOPS) 从 77k 增加到 209k,传输速率从 314MB/s 增加到 854MB/s延迟从 9600ns 下降到 120ns(80 倍)。 顺序写入:无补丁,有补丁 libaio psync iops:77k 209k 195K 233K bw:314MB/s 854MB/s 790MB/s 953MB/s clat:9600ns 120ns 540ns 3000ns

对于那些对截至 2022 年中期 io_uring 的状态感兴趣的人,建议您熟悉 Kernel Recipes 2022 报告的幻灯片和视频记录。概述中提到了内核中已包含的和计划中的更改,例如,可以注意到支持:

  • 多次(多次)accept()。
  • 多重(multi-shot)recv() - 根据测试,增加了 6-8% - 从 1150000 到 1200000 RPS。
  • liburing 库中的更新和修复,添加文档和测试。

在 io_uring 可移植性的背景下,幻灯片提到了与 Windows 11 中的直接存储子系统中使用的“I/O 环”的显着相似之处,以及实现跨平台工作的可能性,但来自作者幻灯片上的其他平台仅 FreeBSD 被提及时带有问号。



来源: opennet.ru

添加评论