Linux 内核已准备好优化,以提高 I/O 调度程序的性能

Jens Axboe 是 io_uring 以及 I/O 调度程序 CFQ、Deadline 和 Noop 的创建者,他继续在 Linux 内核中进行 I/O 优化实验。这次,他的注意力集中在 BFQ 和 mq-deadline I/O 调度程序上,事实证明,这至少在高速 NVMe 驱动器的情况下是一个瓶颈。

正如对该情况的研究所示,I/O 调度程序子系统性能欠佳的关键原因之一是竞争锁问题(“锁争用”,即试图获取另一个线程持有的锁)。得益于旨在减少处理锁时争用的措施(例如调度和查询插入的序列化),调度程序的速度在许多情况下(以 IOPS 为单位)显着提高。

使用 fio 实用程序测试 BFQ 调度程序时,性能从 567K IOPS 增加到 1551K IOPS,锁争用从 96% 减少到 30%。在 mq-deadline 的情况下,使用 NVMe 驱动器应用建议的补丁后,每秒输入/输出操作 (IOPS) 从 1070K 增加到 2560K,锁争用从 94% 减少到 23%。

来源: opennet.ru

添加评论