应为原文:
还有一篇相关介绍:
另一篇:
我这里只摘抄核心的图例哈。
1:单字节写入性能对比
A:由于硬盘式块设备所以对于这种测试硬盘式不擅长的
B:btrfs系统只有200K/SEC,xfs表现的性能比较平衡。
2:块写入性能对比(由于硬盘是块设备这种对比来的更有意义)
A:性能上差不多,但是效率上(CPU占用率上)来说最好的是xfs接下来依次是EXT4,EXT3,BTRFS
3:直接块顺序读写(关掉任何的系统和文件缓存)
A:绕过系统和文件缓冲的话(例如:视频录制,一些虚拟机软件,ECC),EXT3/ 4是最好的选择,其次是BTRFS,最后是XFS。
B:没有一种文件系统可以适用于所有环境
4:随机寻道
A:BTRFS系能最差,不到20 seeks/sec
B:EXT3性能最好,如果软件大量的随机寻址的话这个文件系统性能更好
5:创建和删除大量文件(文件量一定)
BTRFS系统性能最差,下面是去掉该系统其它3种的对比
A:EXT4是更高效高性能的系统,接下来依次是XFS,EXT3
6:顺序读写吞吐量【没有fsync的是100 writes/one fsync(),有的是1 writes/one fsync()】
A:100 writes/one fsync()各个性能差不多
B:1 writes/one fsync()时EXT3性能最好,接下来依次是XFS,EXT4,BTRFS
C:write + fsync()在BTRFS下对读性能产生影响
7:随机读写吞吐量
A:100 seeks/sec每个块16 KB,我们得出最大的读取速度是1600 KB/sec,XFS,BTRFS大于了这个数值(可能数据不能随机也可能缓冲影响了结果)
B:EXT3随机写入性能是最好的,适用于数据库,高容量的记录程序和虚拟机系统
8:向PostgreSQL 中写入10万行数据
A:BTRFS 性能是最好的,EXT4和XFS很低的cpu使用率但是性能太差
9:读测试
A:10万次的读测试,性能差别不大
10:复杂的读写以及事务测试
A:EXT3性能最好
所以,数据库最好是EXT3系统,除非EXT4解决了所谓的回归问题。
11:Linux kernel 2.6.36下的解包操作
A:该操作最好的文件系统是EXT4
这次操作会受到缓存和延时分配的影响,我们强制同步看看效果
A:XFS是较慢的FS,EXT3慢于EXT4和BTRFS
12:cat操作
A:该操作比较有效率的系统是XFS
B:该执行最快CPU占用最高的系统是BTRFS,,说明该系统有复杂的元数据操作
13:解压linux核心(会产生32000 files)
A:EXT3这个唯一没有延时分配能力的系统是最差的
14:顺序创建128个文件,每个长16 MB(共2 GB)各种系统产生的碎片情况
A:BTRFS系统碎片是个严重的问题(这也解释了先前的这种系统读性能低下的原因)
出去BTRFS系统后的图
A:EXT4,XFS这种有延时分配机制的系统产生的碎片少于EXT3(即使one write/one fsync())
15:随机创建128个文件,每个长16 MB(共2 GB)各种系统产生的碎片情况
A:随机写入在任何系统下都会产生碎片,即使有延时分配也没用