Linux 内核 6.1 迎来 Btrfs 异步缓冲写入补丁,磁盘 IO 吞吐量翻倍

公众号关注 「奇妙的 Linux 世界」

设为「星标」,每天带你玩转 Linux !

29f277b4e104a38d061c59b1cca7d04d.jpeg

最新的 Btrfs  异步缓冲写入补丁可以提供两倍以上的吞吐量,该补丁目前正在 Btrfs for-next Git 存储库中排队,预计在 Linux 6.1 中合并。

 Btrfs  异步缓冲写入补丁邮件介绍了该补丁的信息:

此补丁系列增加了在同时使用 btrfs 和 io 时对异步缓冲写入的支持。目前 io-uring 仅支持慢速路径中的缓冲写入(用于 btrfs),有了这个补丁系列,现在可以支持快速路径中的缓冲写入。

据外媒 Phoronix 介绍:Meta (Facebook) 工程师 Stefan Roesch 一直在开发补丁,以添加对 Btrfs 和 IO_uring 的异步缓冲写入的支持。这项工作的基准测试结果令人印象深刻:

feee788605cda39474621fef386ec69a.jpeg

Roesch 评论了性能结果:

对于 1 的 io 深度,新补丁将吞吐量提高到了两倍以上(与现有行为相比,缓冲写入由 io-worker 进程处理),且延迟也大大减少。

如果要使用现有的代码实现相同或更好的性能,则需要 4 的 io 深度,而且进一步增加 io 深度无法带来更多改进。

在 10 月初 Linux 6.1 合并窗口打开之前, Kdave 的 for-next Btrfs 分支中已经存在一大批优化补丁,本文所述的 Btrfs 异步缓冲写入补丁系列是主要特性。

关于 Btrfs  异步缓冲写入补丁的更多信息,可查看相关的内核邮件:https://lore.kernel.org/linux-btrfs/20220908002616.3189675-1-shr@fb.com/

相关链接:

https://www.phoronix.com/news/Btrfs-Async-Buffered-Writes-6.1

https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git/commit/?h=for-next&id=55121cf062ef609ce3ccc0f7b9f72e9df2f4a23c

本文转载自:「OSC开源社区」,原文:https://url.hi-linux.com/HrGgw,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。

9d2dfb1e5e064c913ec4461cf9802275.gif

最近,我们建立了一个技术交流微信群。目前群里已加入了不少行业内的大神,有兴趣的同学可以加入和我们一起交流技术,在 「奇妙的 Linux 世界」 公众号直接回复 「加群」 邀请你入群。

7103da04a20560b89fb911e4e34ef1af.png

你可能还喜欢

点击下方图片即可阅读

429ee01511b551a0fc8ecd95046c6a52.png

Linux 之父是个果粉:给自用 M2 Mac 装上 Fedora Linux,除图形加速和 Chrome 都搞定了

8d0683516e52e128a7ad5c584cca216e.png
点击上方图片,『美团|饿了么』外卖红包天天免费领

bf5d81e01af9318fec03ae0974545d96.png

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 当Linux磁盘IO使用率过高时,需要采取以下措施进行处理: 1. 检查磁盘IO性能:使用命令"iostat"或"iotop"来查看各个磁盘IO使用情况,确定是哪一个磁盘IO使用率过高。 2. 确定高IO进程:使用命令"pidstat" 或 "iotop"查找到占用磁盘IO最高的进程,并确认其是否为系统进程,或者可能是误操作引起的异常进程。 3. 优化高IO进程:对于占用IO高的进程,可以考虑进行优化操作,例如优化数据库、调整程序逻辑、增加缓存等,以降低其IO使用率。 4. 调整IO调度器:对于某些特定的磁盘IO问题,可以尝试调整IO调度器,如将默认的"cfq"调度器改为"deadline"或"Noop"调度器,通过更改调度算法来优化磁盘IO性能。 5. 添加缓存:使用缓存技术,如使用Redis或Memcached等内存数据库,将频繁访问的数据存储在内存中,减轻磁盘IO负担。 6. 增加磁盘吞吐量:如果磁盘负载过高,可以考虑增加磁盘吞吐量,如使用RAID技术或增加磁盘数量。 7. 优化文件系统:对于某些特定的文件系统,可以通过调整文件系统参数来优化磁盘IO性能,如调整磁盘超时时间、缓存大小等。 8. 检查磁盘是否故障:如果上述措施都没有明显效果,可以检查磁盘是否存在硬件故障,包括磁盘本身是否有错误或磁盘连接是否不稳定,必要时更换磁盘。 总之,处理Linux磁盘IO使用率过高需要综合考虑以上各个方面,根据具体情况进行相应的优化和调整,以降低IO使用率并提升系统性能。 ### 回答2: 当Linux磁盘IO使用率过高时,可以采取以下处理方法: 1. 分析原因:首先,需要通过系统监控工具(如top、iostat等)查看磁盘IO使用率过高的具体原因。可能的原因包括磁盘读写操作过多、磁盘故障、应用程序限制、系统配置不当等。 2. 优化磁盘IO:通过优化系统的文件系统,可以提高磁盘IO性能。可以考虑使用高性能的文件系统(如XFS、Btrfs)来替换默认的文件系统,或者进行磁盘分区以减少IO负载。此外,可以调整文件系统的挂载参数、提高磁盘缓存等方式来提升磁盘IO性能。 3. 优化应用程序:如果磁盘IO使用率过高是由于某些应用程序所引起的,可以对这些应用程序进行优化。例如,优化数据库的读写操作,使用缓存技术减少磁盘IO等。 4. 检查磁盘健康状态:磁盘故障可能导致磁盘IO使用率过高。因此,需要定期检查磁盘的健康状态,并及时更换坏盘。 5. 调整系统配置:根据服务器的硬件和实际需求,适当调整系统的参数配置。例如,可以调整磁盘调度算法、调整内核参数等来优化磁盘IO性能。 6. 负载均衡:如果是多台服务器组成的集群环境,可以通过负载均衡的方式来分摊磁盘IO负载。将磁盘IO请求均匀分布到多个磁盘上,可以提高整个系统的磁盘IO性能。 总之,处理Linux磁盘IO使用率过高需要综合考虑软硬件环境,并通过优化系统配置、优化应用程序、检修磁盘等方式来提高磁盘IO性能。 ### 回答3: 当Linux磁盘IO使用率过高时,有几个常见原因和相应的处理方法。 首先,可能是由于过多的并发读写操作导致的磁盘IO使用率过高。可通过增加磁盘数量或者使用RAID等技术来提高磁盘吞吐量,分散读写负载。可以使用工具如iostat来监测磁盘IO使用情况并定位问题。 其次,可能是因为系统频繁进行磁盘同步操作导致的磁盘IO使用率过高。在Linux系统中,可以通过修改文件系统的挂载参数来调整同步策略,如在/etc/fstab文件中将sync参数改为async,或者使用noatime参数禁止更新最后访问时间。这些操作可以减少对磁盘的同步写操作,提高性能。 另外,可能是因为某些应用程序或进程不断进行大量的小文件读写操作导致的磁盘IO使用率过高。可以通过使用工具如iotop来查看系统中哪些进程消耗大量的IO资源,并找出造成问题的进程。然后可以调整相应的应用程序设置或者优化代码逻辑,减少其对磁盘的读写负载。 此外,还可以通过调整系统内核参数来优化磁盘IO性能。例如,可以增加内核中针对磁盘IO操作的线程数量,修改相关的文件系统参数等。需要谨慎地调整这些参数,可以参考相关的文档或咨询专业人士。 总之,针对Linux磁盘IO使用率过高的问题,可以采取多种手段进行处理,包括优化应用程序设计、调整系统配置和内核参数等。根据具体的情况和需求,选择相应的方法进行优化,以提高磁盘IO性能和系统稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值