Linux 6.3 大幅优化 Btrfs 性能 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
suifengdaren
V2EX    Linux

Linux 6.3 大幅优化 Btrfs 性能

  •  1
     
  •   suifengdaren
    gitrepo 2023 年 2 月 26 日 via Android 5840 次点击
    这是一个创建于 1155 天前的主题,其中的信息可能已经有所发展或是发生改变。

    近日 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% 的文件 / 秒)

    14 条回复    2025-04-30 05:53:40 +08:00
    suifengdaren
        1
    suifengdaren  
    OP
       2023 年 2 月 26 日 via Android
    heiher
        2
    heiher  
       2023 年 2 月 26 日 via Android   1
    btrfs 在用挺久了,期待
    love4taylor
        3
    love4taylor  
    PRO
       2023 年 2 月 26 日 via iPhone
    也不知道得等到什么时候在主流发行版能用上
    tairan2006
        4
    tairan2006  
       2023 年 2 月 26 日
    公司的万年 centos7.9 + kernel 3.10 ,甚至连 k8s 环境都是
    xaxb
        5
    xaxb  
       2023 年 2 月 26 日 via iPhone
    动不动就大提升 大改进,说明不稳定
    bigmomo
        6
    bigmomo  
       2023 年 2 月 26 日
    @Love4Taylor 用 Fedora 很快的
    mylara
        7
    mylara  
       2023 年 2 月 27 日
    @alex8 哈哈哈哈哈,是的
    cubecube
        8
    cubecube  
       2023 年 2 月 27 日
    @alex8 哈哈,我也正想说,这货稳么,文件系统这东西,没人因为稍微快点就冲吧
    zdy349
        9
    zdy349  
       2023 年 2 月 27 日
    7 年前装 gentoo 的时候用过 btrfs ,同学建议试试 btrfs ,结果编着编着文件系统直接崩了,从那以后就没用过 btrfs ,也没再尝试过 gentoo 。
    aloxaf
        10
    aloxaf  
       2023 年 2 月 27 日
    @cubecube #8
    > 这货稳么
    目前来说,除 raid 功能外还是很稳的,可以在 https://btrfs.wiki.kernel.org/index.php/Status 查看各个功能状态。

    > 文件系统这东西,没人因为稍微快点就冲吧
    是的,用 btrfs 的基本都是冲着各种新特性来的(写时复制、透明压缩、轻量快照……),单纯论 IO 性能 btrfs 并不强
    cheng6563
        11
    cheng6563  
       2023 年 2 月 27 日
    @cubecube 咋说呢,没有 ECC 内存的机器用 btrfs 就特别容易炸,是好是坏看你怎么理解了。
    mingwiki
        12
    mingwiki  
       2023 年 3 月 6 日
    btrfs 踩了一个坑 raid 不支持 ssd cache 必须先套一层 lvm ,ext4 raid 是可以直接用 bcache 的
    creepersssss
        13
    creepersssss  
       2024 年 2 月 11 日
    zfs 吃性能,btrfs bug 列表令人生畏,想要一个类似 APFS 、ReFS 这种 CoW 、压缩的文件系统,开源界没有一个折中的方案,btrfs 终究还是开始的时候太急了,真是可惜
    dilidilid
        14
    dilidilid  
       2025 年 4 月 30 日
    @creepersssss 单盘用的话 btrfs 没啥 bug 吧,APFS 除了性能更好一些感觉还不如 btrfs
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1189 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 52ms UTC 17:21 PVG 01:21 LAX 10:21 JFK 13:21
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86