1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking Benchmarking Platform
Phoromatic Test Orchestration

Btrfs File-System For Old Computers?

Michael Larabel

Published on 3 October 2011
Written by Michael Larabel
Page 1 of 4 - 21 Comments

Recently I published benchmarks of Btrfs from a Serial ATA 3.0 SSD (the excellent OCZ Vertex 3 SSD) and those results were interesting, but most people aren't running 6Gb/s solid-state drives, so how does this next-generation file-system perform on the opposite end of the spectrum? In this article are EXT4 and Btrfs benchmarks from an old Core Duo notebook with a 5400RPM mobile hard drive.

This testing is just like the earlier Btrfs SATA 3.0 benchmarks, but with more Btrfs mount options being tested and with old hardware being used. In particular, a Lenovo ThinkPad T60 was used with a 1.86GHz Core Duo T2400 CPU with 1GB of RAM and a Hitachi HTS541080G9SA00 HDD. The Hitachi hard drive spins at 5400RPM, complies with SATA 1.0, has 8MB of cache, and has a 12ms average seek time. Full system details are below.

An Ubuntu 11.10 development snapshot was running on this 32-bit laptop with the latest Linux 3.1 development kernel loaded at the time of testing. The EXT4 file-system was tested along with Btrfs. Between each mount option that was tested, the Btrfs file-system was re-formatted. The mount options included compress=zlib, compress=lzo, space_cache, autodefrag, nodatasum, nodatacow, and nobarrier. Below is a description of the tested Btrfs mount options from the Btrfs Wiki.

- nodatasum: Do not checksum data. Means bit flips and bit rot might go undetected, but allows for slightly faster operation since data checksum does not have to be calculated. On most modern CPUs this option does not result in any reasonable performance improvement.
- nodatacow: Do not copy-on-write data. datacow is used to ensure the user either has access to the old version of a file, or to the newer version of the file. datacow makes sure we never have partially updated files written to disk. nodatacow gives slight performance boost by directly overwriting data (like ext[234]), at the expense of potentially getting partially updated files on system failures. Performance gain is usually < 5% unless the workload is random writes to large database files, where the difference can become very large
- nobarrier: Do not use device barriers. NOTE: Using this option greatly increases the chances of you experiencing data corruption during a power failure situation. This means full file-system corruption, and not just losing or corrupting data that was being written during a power cut or kernel panic
- compress: Enable compression. In the kernels >2.6.38 you can choose the algorithm for compression:
x compress=zlib: Better compression ratio. It's the default and safe for olders kernels.
x compress=lzo: Fastest compression. btrfs-progs 0.19 or older will fail with this option. The default in the kernel 2.6.39 and newer.
- space_cache: Btrfs stores the free space data ondisk to make the caching of a block group much quicker (Kernel 2.6.37+). It's a persistent change and is safe to boot into old kernels.
- autodefrag: will detect random writes into existing files and kick off background defragging. It is well suited to bdb or sqlite databases, but not virtualization images or big databases (yet). Once the developers make sure it doesn't defrag files over and over again, they'll move this toward the default. (Kernel 3.0+)
Latest Linux News
  1. Trying To Run The Intel Core i7 5775C On Linux
  2. VirtualBox 5.0 RC3 Brings VMM Fixes, Takes Care Of Some KDE DnD Problems
  3. Ubuntu Is Finally Fixing Its Annoying GRUB Setting
  4. Firefox 39.0 Brings New Features, HTML5 Changes
  5. OPNsense 15.7 Released As Fork Of Pfsense
  6. The Less-Powerful Intel Compute Stick With Ubuntu Will Soon Ship
  7. Kodi 15.0 Release Candidate 1 Arrives
  8. Fedora 23: Python 3 Default Approved; Netizen Spin Rejected
  9. GNOME Shell & Mutter Just Landed More Wayland Improvements
  10. Ubuntu MATE Announces A Partnership With A PC Hardware Vendor
Latest Articles & Reviews
  1. 6-Way File-System Comparison On The Linux 4.1 Kernel
  2. How KDE VDG Is Trying To Make Open-Source Software Beautiful
  3. Attempting To Try Out BCache On The Linux 4.1 Kernel
  4. CompuLab's Fitlet Is A Very Tiny, Fanless, Linux PC With AMD A10 Micro
Most Viewed News This Week
  1. Kubuntu 15.10 Could Be The End Of The Road
  2. KDBUS Won't Be Pushed Until The Linux 4.3 Kernel
  3. Pinos Is For Linux Video What PulseAudio Is For Audio
  4. The State & Complications Of Porting The Unity Editor To Linux
  5. The Staging Pull For Linux 4.2: "Big, Really Big"
  6. Latest Rumor Pegs Microsoft Wanting To Buy AMD
  7. "PulseVideo" Coming To Complement PulseAudio?
  8. Exciting Features Merged So Far For The Linux 4.2 Kernel