全部博文(31)
分类: LINUX
2014-02-14 18:05:09
wRITERED by
最近项目遇到性能瓶颈,写盘时候CPU占用率比较高,打算从 SATA 硬盘升级到 SAS 硬盘,也希望能从系统软件方面改进一下,从几篇不错的文章了解到常用的 Linux 文件系统之间的性能差异,评测结果也比较一致,推荐这篇()结果较详尽(但是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对大文件树的拷贝性能似乎从较高变成最高了,而且遥遥领先,但删除大文件树的速度则是最慢的。删除文件虽然是最慢的,但在大多数系统中删除操作较少,而且删除动作的速度较拷贝的速度要快一个数量级,这样说来整个系统由于删除动作带来的性能损耗有限,因此删除动作的性能损耗可以接受。