119
Why btrfs gets huge perf hit with background IO work?
(lemmy.world)
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
I think it's not btrfs that's slow, it's bcachefs that's insanely fast. Bcachefs almost as fast as ext4 while having that many features is insane.
This screenshot is the only metric where btrfs is incredibly slow.
Bcachefs random and sequential writes and reads are much slower than other filesystems in this benchmark.
I have no idea how the actual real world performance will be. Bcachefs still misses a lot of features so I'll continue to follow the development, hopefully including performance improvements.
https://www.phoronix.com/review/bcachefs-linux-67/2
Edit: The benchmarks were done with a debug variable set, which explains the weak IO.
https://www.phoronix.com/news/Bcachefs-Updated-Linux-6.7
Wait, so the benchmarks mostly contradict claims that bcachefs is almost as fast as ext4 except in application startup time? What kind of test performed for that application startup time benchmark?
Note that in this benchmark, bcachefs had a debug variable turned on that allegedly severely hampered performance. Bcachefs has released an update to disable this variable but Phoronix hasn't redone benchmarks yet. I wouldn't put much value into any bcachefs-related comparisons from this current benchmark.
Interesting, that hopefully explains the weak IO troughput. Thank you.
The application startup test is designed to cold-load an application with heavy background IO going on.