单核心 IOPS 突破 1000 万,Linux 5.16 有望大幅提升 I/O 性能

来源: OSCHINA
编辑: Alias_Travis
2021-10-27

Jens Axboe 是 Linux block 子系统的负责人,目前就职于 Facebook,他也因开发了 IO_uring 而闻名,他对 IO_uring 的不断开发与优化使得 Linux 系统的 I/O 性能得到巨大提升。

一周前,Jens Axboe 开始对内核的 I/O 性能进行了新一轮的优化,以便在单个 CPU 核心上获得 800 万 IOPS。经过一周时间的努力,每个核心能够实现 890 万左右的 IOPS,就当大家以为这个数字已经达到他所使用的硬件极限,没有更多优化空间时,本周他又成功地将每个核心的 IOPS 推到了 1000 万。

IOPS(Input/Output Operations Per Second)是一个衡量电脑储存装置(如 HDD、SSD)输入/输出性能高低的指标,可以视为是每秒的读写次数。与其他性能测试一様,IOPS 仅代表理想环境下的性能指标,不保证实际应用下也能达到同等情况。

IOPS 的数值会随系统组态而有很大的不同,依测试者在测试时的控制变量而异,控制变量包括读取及写入的比例、线程数量以及资料区块的大小等。

从 Jens Axboe 在社交媒体上分享的截图可以看到,他用最新的 Linux 内核补丁在一个物理 CPU 核心上实现了 1000 万 IOPS。

此次测试的设备仍然与他此前实现 890 万 IOPS 时所使用的设备保持一致 —— 采用了一个 AMD Ryzen 9 5950X CPU 和英特尔 P5800X Gen2 傲腾 SSD。

为了实现这些的性能提升,Jens Axboe 主要是在内核的 block / NVMe / IO_uring 代码内进行了优化,但也有触及一些内存管理代码。他为实现每个核心 I/O 的最佳性能而进行的优化都可以通过 linux-block 的 perf-wip 分支找到。这些性能优化补丁目前已加入下一周期的合并队列,应该会在 Linux 5.16 中实现合并。

 

展开阅读全文
15 收藏
分享
加载中
精彩评论
这个名字也是花了老大功夫才起的,linus都说起名字真的费脑细胞
2021-10-27 10:50
4
举报
NB
2021-10-27 09:08
4
举报
估计省了 IO ,人家一眼下去不知道它是干嘛的。
2021-10-27 11:57
3
举报
国外程序员真这么牛?
2021-10-28 10:22
2
举报
kernel space和user space,这么比不合适吧
2021-10-27 11:25
2
举报
最新评论 (28)
您好,请问这个是用什么工具测的?
2021-10-31 11:29
0
回复
举报
单个硬盘 IOPS 超过百万的有没有?
2021-10-30 12:38
0
回复
举报
有了 顶尖的NVME SSD
2021-11-01 17:17
0
回复
举报
这是真的牛批,不得不佩服
2021-10-30 10:04
0
回复
举报
我来了哈
2021-10-28 12:04
0
回复
举报
国外程序员真这么牛?
2021-10-28 10:22
2
回复
举报
國外人多……
2021-10-28 11:06
0
回复
举报
主要是福利好,不上班领救济的闲人多,上班族也少加班、少 996,空闲时间多。
2021-10-28 14:03
0
回复
举报
坐等基于此功能实现 POSIX AIO API
2021-10-27 23:23
0
回复
举报
MPTCP不知道什么时候能在发行版中默认开启支持😁
2021-10-27 18:57
0
回复
举报
厉害
2021-10-27 13:18
0
回复
举报
SPDK早就可以达到千万级了,iouring算是赶上了

https://blog.csdn.net/weixin_37097605/article/details/107829140
2021-10-27 10:53
1
回复
举报
kernel space和user space,这么比不合适吧
2021-10-27 11:25
2
回复
举报
我的意思是SPDK 在用户态早些时间就达到了KW级别
io-uring现在刚达到(根据上文)
2021-10-27 13:18
0
回复
举报
666
2021-10-27 10:42
0
回复
举报
更多评论
28 评论
15 收藏
分享
返回顶部
顶部