幾種linux 文件系統的性能比較
最近項目遇到性能瓶頸,寫盤時候CPU占用率比較高,打算從 SATA 硬盤升級到 SAS 硬盤,也希望能從系統軟件方面改進一下,從幾篇不錯的文章了解到常用的 Linux 文件系統之間的性能差異,評測結果也比較一致,推薦這篇(http://www.debian-administration.org/articles/388)結果較詳盡(但是2006的文章,過去這么久,評測結果可能有所變化)。
綜合各評測結果看來,幾種文件系統的性能表現如下:
Ext3 | ReiserFS | JFS | XFS | |
可用空間大小 | 92.77% | 99.83% | 99.82% | 99.95% |
創建分區速度(秒) 20G分區 |
14.7 |
2.2 (CPU 59%) |
1.3 (CPU 74%) |
0.7 |
mount速度(秒) 20G分區 |
0.2 | 2.3 | 0.2 | 0.5 |
unmount速度(秒) 20G分區 |
0.2 (CPU 37%) |
0.4 (CPU 14%) |
0.2 (CPU 27%) |
0.2 (CPU 45%) |
拷貝大文件(秒) 700M ISO Imag(CPU 46% – 51%) |
38.2 | 41.8 | 35.1 | 34.8 |
第二次拷貝同樣的文件(秒)(CPU 38% – 50%) | 37.3 | 43.9 | 39.4 | 33.1 |
刪除同樣的ISO文件(秒) | 2.5 (CPU 10%) |
1.5 (CPU 49%) |
0.02 (CPU 10%) |
0.02 (CPU 10%) |
拷貝大文件樹(秒) 7500個文件, 900個目錄, 1.9GB(CPU 27% – 36%) |
158.3 | 172.1 | 180.1 | 166.1 |
第二次拷貝同樣的大文件樹(秒) | 120 | 136.9 (CPU 45%) |
151 (CPU 29%) |
135.2 |
刪除同樣的大文件樹(秒) | 22 (CPU 15%) |
8.2 (CPU 86%) |
12.5 (CPU 15%) |
10.5 (CPU 65%) |
List同樣的大文件樹(秒) | 2.5 (CPU 35%) |
1.4 (CPU 71%) |
3.1 (CPU 35%) |
1.8 (CPU 70%) |
搜索同樣的大文件樹(秒) | 4.6 (CPU 6%) |
0.8 (CPU 36%) |
5 (CPU 6%) |
2.8 (CPU 10%) |
綠色:效率最高,藍色:效率高,紅色:效率最差
———————————————————————————————————————
鑒于多數現有的評測“年代久遠”,幾年來軟件和硬件都有發展,因此我還是自己做了一個簡單的評測。
由于 ReiserFS 作者的前途渺茫,故只針對 Ext3,XFS,JFS 來評測,評測項目僅針對大文件樹的操作,不測試CPU占用率。測試機使用 Virtualbox虛擬機,環境如下:
宿主機配置如下:
CPU : Q9550 四核2.8G
內存 : 4G
硬盤 : SATA 500G
虛擬機配置如下:
CPU: 單核
內存:384M
硬盤:8G
Ext3 | JFS | XFS | |
拷貝/usr目錄到/root/usrx(秒) ext3已運行很多天,
jfs和xfs系統剛裝, 拷貝時虛擬硬盤還要自動擴展大小, 因此jfs和xfs硬盤會多一些性能損耗 |
158 | 145 | 123 |
第二次拷貝/usr目錄(秒) | 153 | 109 | 91 |
刪除/root/usrx目錄(秒) | 3.5 | 10 | 14.6 |
第二次刪除/root/usrx目錄(秒) | 6.2 | 12 | 14.9 |
從 這份測試結果來看,XFS對大文件樹的拷貝性能似乎從較高變成最高了,而且遙遙領先,但刪除大文件樹的速度則是最慢的。刪除文件雖然是最慢的,但在大多數 系統中刪除操作較少,而且刪除動作的速度較拷貝的速度要快一個數量級,這樣說來整個系統由于刪除動作帶來的性能損耗有限,因此刪除動作的性能損耗可以接 受。
———————————————————————————————————————
另外推薦一篇文件系統的評測文章:
http://linuxgazette.net/122/TWDT.html#piszcz (有多張統計圖,直觀)