Testing Out Linux File-Systems On A USB Flash Drive
In past articles we have delivered plenty of file-system benchmarks from testing out EXT4 to Btrfs to NILFS2. We have also delivered benchmarks from traditional hard drives to solid-state drives. One area though where we have not published any file-system benchmarks is for USB flash drives. Most users end up staying with the default FAT32 file-system for flash drives, but are there any performance advantages to using EXT3, EXT4, XFS, Btrfs, or ReiserFS? We have the benchmarks today to share atop the latest Linux 2.6.32 kernel build.
For our FAT32, EXT3, EXT4, XFS, ReiserFS, and Btrfs benchmarking we used a 32GB Flash Voyager GT thumb drive, courtesy of Corsair Memory. In the past we have reviewed other flash drives in their Flash Voyager GT series including the 8GB and 16GB drives, including the original non-GT Flash Voyager 512MB, 4GB, and 8GB models. All of them have tested out well and are waterproof, which we have tested these claims, and it works out well though not as durable as the Flash Survivor GT that we famously tested. The 32GB Flash Voyager GT is backed by a ten-year warranty.
Our test system was running Ubuntu 9.10 (x86_64) with the GNOME 2.28.1 desktop, X Server 1.6.4, GCC 4.4.1, and the system's main drive was formatted to EXT4. Rather than using the Linux 2.6.31 kernel that ships with Ubuntu 9.10, we had used the Linux 2.6.32-rc5 kernel, in order to pull in all of the latest work for the various file-systems. During our testing process, each file-system was formatted to occupy the entire 32GB flash drive and was then mounted with each file-system's default options. The hardware configuration for this test system included an Intel Core 2 Duo E8400 processor clocked at 3.86GHz, a Gigabyte EP45T-DS3R motherboard (P45 + ICH10R Chipset), 2GB of DDR3 system memory, a 160GB Western Digital WD1600JS-00M, and a NVIDIA GeForce 8600GTS graphics card.
We used the Phoronix Test Suite for carrying out these file-system benchmarks on this USB 2.0 flash drive. The test profiles included SQLite, PostMark, IOzone, Dbench, AIO-Stress, Threaded I/O Tester, and Gzip compression. Worth noting that the results with each file-system did fluctuate more when running on a USB 2.0 flash drive compared to when benchmarking a hard drive or solid-state drive, but with the Phoronix Test Suite proving statistical significance, many of these tests ended up running six to ten times each to collect more accurate results.