SATA,SAS,SSD 读写性能测试结果

SATA,SAS,SSD 读写性能测试结果  

2013-09-11 10:17:15|  分类: 软件 |  标签:磁盘性能测试   |举报 |字号 订阅


   
   
测试工具 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 = 1
SATA
Jobs : 1 ( f = 1 ): [ R ] [ 16.4 % done ] [ 124.1M / 0K / s ] [ 31.3K / 0  iops ] [ eta 00m : 51s ]
SAS
Jobs : 1 ( f = 1 ): [ R ] [ 16.4 % done ] [ 190M / 0K / s ] [ 41.3K / 0  iops ] [ eta 00m : 51s ]
SSD
Jobs : 1 ( f = 1 ): [ R ] [ 100.0 % done ] [ 404M / 0K / s ] [ 103K / 0  iops ] [ eta 00m : 00s ]
可以看到 在对 4KB 数据包进行连续读的情况下:
SSD 其速度可以达到 404MB / S IOPS 达到 103K / S
SAS 其速度可以达到 190MB / S IOPS 达到 41K / S
SATA 其速度可以达到 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 = 1
SATA
Jobs : 1 ( f = 1 ): [ r ] [ 41.0 % done ] [ 466K / 0K / s ] [ 114 / 0  iops ] [ eta 00m : 36s ]
SAS
Jobs : 1 ( f = 1 ): [ r ] [ 41.0 % done ] [ 1784K / 0K / s ] [ 456 / 0  iops ] [ eta 00m : 36s ]
SSD
Jobs : 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 = 1
SATA
Jobs : 1 ( f = 1 ): [ W ] [ 21.3 % done ] [ 0K / 124.9M / s ] [ 0 / 31.3K iops ] [ eta 00m : 48s ]
SAS
Jobs : 1 ( f = 1 ): [ W ] [ 21.3 % done ] [ 0K / 190M / s ] [ 0 / 36.3K iops ] [ eta 00m : 48s ]
SSD
Jobs : 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 = 1
SATA
Jobs : 1 ( f = 1 ): [ w ] [ 100.0 % done ] [ 0K / 548K / s ] [ 0 / 134  iops ] [ eta 00m : 00s ]
SAS
Jobs : 1 ( f = 1 ): [ w ] [ 100.0 % done ] [ 0K / 2000K / s ] [ 0 / 512  iops ] [ eta 00m : 00s ]
SSD
Jobs : 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
### 如何进行SATASAS接口传输测试 #### 使用硬件工具 为了执行SATASAS接口的传输速度测试,通常需要特定类型的硬件设备来辅助完成此过程。这些可能包括专门设计用于评估存储性能的测试平台或是支持多种协议连接的专业适配卡。 对于较为专业的环境来说,可以采用如Smart Storage Tester (SST) 或者CrystalDiskMark这样的专用软件配合相应的硬件设施来进行详细的读写速率分析[^1]。 #### 软件解决方案 除了依赖物理装置外,还有许多现成的应用程序可以帮助用户轻松实现这一目标: - **HD Tune Pro**: 提供全面的数据吞吐量测量功能,并能生成直观的结果图表以便于理解。 - **IOmeter/IODrive**: 这是一款开源工具,允许自定义工作负载模式以模拟实际应用场景下的表现情况。 - **Fio (Flexible I/O Tester)**: 支持Linux系统的强大命令行工具,能够针对不同文件系统特性定制化测试方案并输出详尽报告。 以下是利用`fio`工具在Linux环境下对一块SSD做简单顺序读写的Python脚本示例: ```python import subprocess def run_fio_test(): result = subprocess.run(['sudo', 'fio', '--name=testjob', '--rw=randread', '--bs=4k', '--size=1G', '--runtime=60', '--numjobs=8', '--group_reporting'], capture_output=True, text=True) print(result.stdout) run_fio_test() ``` 上述代码通过调用系统命令行运行了一个随机读取操作(`randread`),设置块大小为4KB (`--bs=4k`) ,持续时间为一分钟(`--runtime=60`) 。同时启用了八个并发线程(`--numjobs=8`) 来更贴近多任务处理的真实场景[^2]。 #### 注意事项 当准备实施任何类型的磁盘I/O基准测试之前,请务必确认所选驱动器内不含重要资料以防意外丢失;另外考虑到某些情况下操作系统缓存机制会对最终成绩造成影响,在正式开始前最好先清理干净内存中的脏页(cache)[^3]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值