首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Btrfs 性能得到优化,最高提升 10 倍

出品|开源中国

Btrfs 是一种支持写入时复制(COW)的文件系统,被广泛运用于各种 Linux 操作系统之中,目标是取代 ext3 文件系统,改善 ext3 的限制。

去年,SUSE 的开发者 David Sterba 为 Linux 6.0 内核更新了 Btrfs 文件系统,当时将直接 I/O 读取限制增加到 256 个扇区的更改使工作负载的吞吐量提高了 3 倍。

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230227A02TKF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券