Linux 6.3 大幅优化 Btrfs 性能

2023-02-26 19:59:11 +08:00
 suifengdaren

近日 David Sterba 再向 Linux 6.3 内核提交了一大批 Btrfs 文件系统的更新,这批有关 Btrfs 的 PR 除了带来新的功能,还包含了大幅的性能优化 —— 最高可以提升 10 倍。

此次更新中的核心变化是重新设计了处理校验和( checksums )的方式,改变了在 I/O 路径中进行校验和的位置,校验和与读取修复在较低层进行验证,Btrfs 还继续清理代码,并围绕其原生 RAID5 和 RAID6 处理进行重构。

Linux 6.3 的 Btrfs 引入了块组分配类的启发式算法( heuristics ),可以按大小来打包文件,从而避免块组的碎片化。

至于性能方面,则是带来了以下这些变化:

send:缓存目录 utimes 并且仅在必要时发出命令 速度提高 10 倍

生成的最终流较小(没有发出多余的 utimes 命令)

兼容性不受影响

fiemap:跳过共享 leaves 的 backref 检查

在带有所有 leaves 共享的示例文件系统上加速 3 倍

微优化的 b-tree 键查找,加速元数据操作(示例基准:fs_mark +10% 的文件 / 秒)

4716 次点击
所在节点    Linux
13 条回复
suifengdaren
2023-02-26 20:02:09 +08:00
heiher
2023-02-26 21:25:25 +08:00
btrfs 在用挺久了,期待
Love4Taylor
2023-02-26 21:30:08 +08:00
也不知道得等到什么时候在主流发行版能用上
tairan2006
2023-02-26 21:32:01 +08:00
公司的万年 centos7.9 + kernel 3.10 ,甚至连 k8s 环境都是
alex8
2023-02-26 21:38:17 +08:00
动不动就大提升 大改进,说明不稳定
Songxwn
2023-02-26 23:16:48 +08:00
@Love4Taylor 用 Fedora 很快的
gearfox
2023-02-27 09:24:29 +08:00
@alex8 哈哈哈哈哈,是的
cubecube
2023-02-27 09:40:23 +08:00
@alex8 哈哈,我也正想说,这货稳么,文件系统这东西,没人因为稍微快点就冲吧
zdy349
2023-02-27 09:52:04 +08:00
7 年前装 gentoo 的时候用过 btrfs ,同学建议试试 btrfs ,结果编着编着文件系统直接崩了,从那以后就没用过 btrfs ,也没再尝试过 gentoo 。
aloxaf
2023-02-27 11:34:36 +08:00
@cubecube #8
> 这货稳么
目前来说,除 raid 功能外还是很稳的,可以在 https://btrfs.wiki.kernel.org/index.php/Status 查看各个功能状态。

> 文件系统这东西,没人因为稍微快点就冲吧
是的,用 btrfs 的基本都是冲着各种新特性来的(写时复制、透明压缩、轻量快照……),单纯论 IO 性能 btrfs 并不强
cheng6563
2023-02-27 16:18:15 +08:00
@cubecube 咋说呢,没有 ECC 内存的机器用 btrfs 就特别容易炸,是好是坏看你怎么理解了。
mingwiki
2023-03-06 15:15:13 +08:00
btrfs 踩了一个坑 raid 不支持 ssd cache 必须先套一层 lvm ,ext4 raid 是可以直接用 bcache 的
creepersssss
285 天前
zfs 吃性能,btrfs bug 列表令人生畏,想要一个类似 APFS 、ReFS 这种 CoW 、压缩的文件系统,开源界没有一个折中的方案,btrfs 终究还是开始的时候太急了,真是可惜

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/919323

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX