四大Linux文件系統(tǒng)在2.6.34內(nèi)核下的基準(zhǔn)測試
原創(chuàng)【51CTO精選譯文】業(yè)內(nèi)知名評測網(wǎng)站Phoronix近日在Linux 2.6.34內(nèi)核上針對一系列Linux文件系統(tǒng)進(jìn)行了基準(zhǔn)測試?,F(xiàn)在大多數(shù)使用中的Linux文件系統(tǒng)正在以EXT4逐步取代EXT3,不過BTRFS也常常與EXT4相提并論。此外,由SGI開發(fā)并引進(jìn)到Linux中的XFS高級日志文件系統(tǒng)也以良好的伸縮性和健壯程度廣受歡迎。下面是評測的詳細(xì)情況:
我們對以前的Linux文件系統(tǒng)測試結(jié)果進(jìn)行觀察后發(fā)現(xiàn),在不同版本的Linux內(nèi)核上的測試結(jié)果存在差異,有時甚至出現(xiàn)了很大的波動,因此我們打算在最新的Linux內(nèi)核上,針對更多的Linux文件系統(tǒng)做一次全面的測試。
本次測試使用的內(nèi)核是2.6.34-RC4 Git快照版本,參與測試的文件系統(tǒng)包括EXT3,EXT4,Btrfs和XFS,使用的測試工具包括Phoronix Test Suite中的Compile Bench,F(xiàn)S-Mark,Dbench, IOzone,PostMark,PostgreSQL,SQLite,Unpack-Linux和Threaded I/O Tester。
測試所用的機(jī)器配置:
處理器:AMD四核上海 Opteron 2384
主頻:2.70GHz
主板:泰安S2927 n3600B
硬盤:64GB OCZ Agility EX SSD
顯卡:ATI Radeon HD 4870
操作系統(tǒng):Ubuntu 10.04 Beta(64位)
軟件環(huán)境:2.6.34內(nèi)核,X.Org Server 1.7.6,xf86-video-radeon 6.13.0,GCC 4.4.3
每個文件系統(tǒng)都使用的是它們的默認(rèn)掛載選項(xiàng)。
編譯基準(zhǔn)測試Compile Bench
圖 1 Compile Bench測試結(jié)果
在Compile Bench測試結(jié)果中,Btrfs勝出,它比第二名EXT3快出23%,EXT3比EXT4又快出22%,排在最后的是XFS,它的速度只有10.83MB/s,與Btrfs的64.47MB/s相比,懸殊非常大。
#p#
文件系統(tǒng)性能測試FS-Mark
圖 2 FS-Mark測試1000個1MB大小的文件
在FS-Mark測試1000個1MB大小的文件時,EXT3在OCZ Agility EX SSD硬盤上意外勝出,EXT4明顯落后于EXT3,事實(shí)上EXT4是所有文件系統(tǒng)中最慢的,這一輪Btrfs排在了第二名。
圖 3 FS-Mark禁用Sync/FSync測試1000個1MB大小的文件
同樣是測試1000個1MB大小的文件,但這次禁用了sync,測試結(jié)果讓人難以置信,Btrfs以絕對優(yōu)勢勝出,它的成績相當(dāng)于EXT3和EXT4的4.5倍,EXT3仍然快于EXT4,但優(yōu)勢不是很明顯,這一次XFS再次排在末尾,倒數(shù)第二名的EXT4也比它快2.5倍。
圖 4 FS-Mark 4個線程測試5000個1MB大小的文件
這一次我們將文件數(shù)量增大到5000個,開啟了4個線程,Btrfs再次勝出,但這次EXT4上升到了第二名,不過Btrfs比它仍然要快出24%,排在最后的仍然是XFS。
圖 5 FS-Mark測試4000個1MB大小的文件,32個子目錄
我們最后的FS-Mark測試中,將4000個1MB大小的文件放入32個子目錄,這次EXT3勝出,而EXT4則墊底,XFS這次則一反頹勢,上升到了第二,一向表現(xiàn)優(yōu)秀的Btrfs這次只落得個第三的名次。
#p#
文檔服務(wù)器性能測試Dbench
圖 6 Dbench測試結(jié)果
接下來我們執(zhí)行了Dbench測試,客戶端數(shù)量從1,6,12,48到128個,當(dāng)只有1個客戶端時,XFS的速度是最快的,但客戶端達(dá)到128個時,XFS變成最慢的了,而Btrfs則完全相反,一開始是最慢的,客戶端數(shù)量越多越快,到128個客戶端時,Btrfs僅僅次于EXT4,排在第二位,排在第一位的EXT4也是剛開始客戶端數(shù)量少時速度慢,客戶端升至6個時,就超過了其它文件系統(tǒng),到48個客戶端時,達(dá)到峰值,雖然到128個客戶端性能有所下降,但仍然保持著第一的位置。
讀寫性能測試IOzone
圖 7 IOzone寫入測試結(jié)果
在IOzone測試中,我們先從8GB寫入測試開始,我們使用了4Kb,64Kb和1MB記錄大小的測試結(jié)果加以對比,當(dāng)記錄大小為4Kb時,XFS最快,在64Kb時,XFS接近EXT4的速度,但到了1MB時,EXT4就全面超越了XFS,在這一輪測試中一直墊底的是Btrfs。
圖 8 IOzone讀取測試結(jié)果
接下來我們執(zhí)行了IOzone讀取測試,這次EXT4勝出,排在其后分別是XFS,Btrfs,EXT3,在磁盤讀取速度方面EXT4比Btrfs快將近20%。
#p#
文件創(chuàng)建和刪除測試PostMark
圖 9 PostMark測試結(jié)果
執(zhí)行PostMark測試的結(jié)果表明,EXT4仍然是最快的,每秒處理2881個事務(wù)請求,Btrfs的成績是2467,緊隨其后的XFS,排名墊底的則是EXT3,僅僅只有954。
并發(fā)數(shù)據(jù)庫會話性能測試
圖 10 PostgreSQL pgbench測試結(jié)果
在PostgreSQL測試中,EXT4再次勝出,XFS和EXT3都表現(xiàn)不錯,唯獨(dú)Btrfs太讓人失望,每秒只能處理69個事務(wù)請求,與排名第一的EXT4 881個事務(wù)請求形成了巨大的差距。
圖 11 SQLite測試結(jié)果
在SQLite測試中,Btrfs再次墊底(注意測試結(jié)果越小越好),在上一個數(shù)據(jù)庫測試中,表現(xiàn)不錯的EXT3超過了EXT4,速度幾乎相差3倍,而XFS和EXT4則基本相當(dāng)。
解壓性能測試
圖 12 Unpacking測試結(jié)果
接下來的測試是解壓linux-2.6.32.tar.bz2源代碼包,EXT4的解壓時間最短,緊隨其后的是Btrfs和EXT3,XFS再次墊底。
線程IO測試
圖 13 Threaded I/O Tester測試結(jié)果
我們最后一個測試是Threaded I/O Tester,我們開啟了16個線程執(zhí)行隨機(jī)寫入測試,每線程寫入64MB數(shù)據(jù),在這一輪測試中,Btrfs再次以絕對優(yōu)勢奪得桂冠,幾乎是排名第二的EXT4的速度的10倍。
結(jié)論
在這些測試中,EXT4的表現(xiàn)最為突出,但Btrfs在諸如Compile Bench,F(xiàn)S-Mark等測試中表現(xiàn)也不賴,雖然EXT3風(fēng)頭不再,但在某些測試中仍然表現(xiàn)得非常優(yōu)秀。在選擇文件系統(tǒng)時,速度不應(yīng)該是決策的唯一因素。
原文:File-System Benchmarks With The Linux 2.6.34 Kernel 作者:Michael Larabel
【編輯推薦】