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

joseph · · 486 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Linux block 子系统的负责人 Jens Axboe 目前就职于 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 中实现合并。

关注本站微信公众号(和以上内容无关)InfraPub ,扫码关注:InfraPub

486 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传