http://blog.csdn.net/killmice/article/details/42745937
测试工具 fio以顺序读为例子,命令如下: fio - name iops - rw = read - bs = 4k - runtime = 60 - iodepth 32 - filename / dev / sda6 - ioengine libaio - direct = 1其中 rw = read 表示随机读, bs = 4k 表示每次读 4k , filename 指定对应的分区,这里我是/ dev / sda6 , direct = 1 表示穿越 linux 的缓存测试 sata 硬盘, sas 硬盘, ssd 硬盘的顺序读,随机读,顺序写,随机写的速度
顺序读测试命令: fio - name iops - rw = read - bs = 4k - runtime = 60 - iodepth 32 - filename / dev / sda6 - ioengine libaio - direct = 1SATAJobs : 1 ( f = 1 ): [ R ] [ 16.4 % done ] [ 124.1M / 0K / s ] [ 31.3K / 0 iops ] [ eta 00m : 51s ]SASJobs : 1 ( f = 1 ): [ R ] [ 16.4 % done ] [ 190M / 0K / s ] [ 41.3K / 0 iops ] [ eta 00m : 51s ]SSDJobs : 1 ( f = 1 ): [ R ] [ 100.0 % done ] [ 404M / 0K / s ] [ 103K / 0 iops ] [ eta 00m : 00s ]可以看到 在对 4KB 数据包进行连续读的情况下:SSD 其速度可以达到 404MB / S , IOPS 达到 103K / SSAS 其速度可以达到 190MB / S , IOPS 达到 41K / SSATA 其速度可以达到 124MB / S , IOPS 达到 31K / S顺序读, SAS 总体表现是 SATA 硬盘的 1.3 倍, SSD 总体表现是 sata 硬盘的 4 倍。
随机读测试命令 fio - name iops - rw = randread - bs = 4k - runtime = 60 - iodepth 32 - filename / dev / sda6 - ioengine libaio - direct = 1SATAJobs : 1 ( f = 1 ): [ r ] [ 41.0 % done ] [ 466K / 0K / s ] [ 114 / 0 iops ] [ eta 00m : 36s ]SASJobs : 1 ( f = 1 ): [ r ] [ 41.0 % done ] [ 1784K / 0K / s ] [ 456 / 0 iops ] [ eta 00m : 36s ]SSDJobs : 1 ( f = 1 ): [ R ] [ 100.0 % done ] [ 505M / 0K / s ] [ 129K / 0 iops ] [ eta 00m : 00s ]随机读, SAS 总体表现是 SATA 硬盘的 4 倍, SSD 总体表现是 sata 硬盘的一千多倍。
顺序写测试命令: fio - name iops - rw = write - bs = 4k - runtime = 60 - iodepth 32 - filename / dev / sda6 - ioengine libaio - direct = 1SATAJobs : 1 ( f = 1 ): [ W ] [ 21.3 % done ] [ 0K / 124.9M / s ] [ 0 / 31.3K iops ] [ eta 00m : 48s ]SASJobs : 1 ( f = 1 ): [ W ] [ 21.3 % done ] [ 0K / 190M / s ] [ 0 / 36.3K iops ] [ eta 00m : 48s ]SSDJobs : 1 ( f = 1 ): [ W ] [ 100.0 % done ] [ 0K / 592M / s ] [ 0 / 152K iops ] [ eta 00m : 00s ]同样的 4KB 数据包顺序写的情况下, SSD 卡的成绩为 592MB / S , IOPS 为 152K 。而本地硬盘仅为 118MB / S , IOPS 仅为 30290 。
随机写测试命令: fio - name iops - rw = randwrite - bs = 4k - runtime = 60 - iodepth 32 - filename / dev / sda6 - ioengine libaio - direct = 1SATAJobs : 1 ( f = 1 ): [ w ] [ 100.0 % done ] [ 0K / 548K / s ] [ 0 / 134 iops ] [ eta 00m : 00s ]SASJobs : 1 ( f = 1 ): [ w ] [ 100.0 % done ] [ 0K / 2000K / s ] [ 0 / 512 iops ] [ eta 00m : 00s ]SSDJobs : 1 ( f = 1 ): [ W ] [ 100.0 % done ] [ 0K / 549M / s ] [ 0 / 140K iops ] [ eta 00m : 00s ]在接下来的 4KB 数据包随机写操作中, SSD 卡再次展示了其高超的 IO 性能,高达 549MB / S 的随机写速率, IOPS 高达 140K 。相比之下,本地硬盘的随机读写仅为 548KB / S , IOPS 为 134 。