ZFS is often looked upon as an advanced, superior file-system and one of the strong points of the Solaris/OpenSolaris platform while most feel that only recently has Linux been able to catch-up on the file-system front with EXT4 and the still-experimental Btrfs. ZFS is copy-on-write, self-healing with 256-bit checksums, supports compression, online pool growth, scales much better than the UFS file-system commonly used on BSD operating systems, supports snapshots, supports deduplication, and the list goes on for the features of this file-system developed by Sun Microsystems. In this article we are seeing how well the performance of the ZFS file-system under PC-BSD/FreeBSD 8.1 stacks up to UFS (including UFS+J and UFS+S) and on the Linux side with EXT4 and Btrfs.
The first bits of the Sun ZFS benchmarks were shared yesterday when publishing the ZFS on FreeBSD's new CAM-based ATA infrastructure results (all of these test results in this article are also using CAM-ATA to take advantage of modern Serial ATA drive features). Again, the test system was a Lenovo ThinkPad T61 notebook with an Intel Core 2 Duo T9300 (Penryn) processor, 4GB of system memory, a 100GB Hitachi HTS72201 7200RPM Serial ATA 2.0 hard drive, and a NVIDIA Quadro NVS 140M graphics processor. The ZFS support within FreeBSD had improved greatly with FreeBSD 8.0 and then further matured with the FreeBSD 8.1 kernel. The FreeBSD installer does not support installing to a root ZFS file-system (other manual steps need to be taken to install to ZFS) at this time, but fortunately the PC-BSD installer does and with PC-BSD 8.1 doing ZFS installations works out quite well. The software stack being tested consists of the FreeBSD 8.1-RELEASE x86_64 kernel, KDE 4.4.5, X.Org Server 1.7.5, and GCC 4.2.1.
The root ZFS file-system was installed using a basic pool and UFS+J and UFS+S (the PC-BSD default file-system) were all tested with their stock settings when performing a clean installation. After testing the three file-systems on PC-BSD 8.1, an Ubuntu 10.10 development snapshot was installed, which supports installing to Btrfs, so we tested EXT4 and Btrfs root file-systems atop the Linux 2.6.35 kernel.
Our tests that were run via the Phoronix Test Suite included Gzip compression, Compile Bench, PostMark, Unpack-Linux, and the Threaded I/O Tester.