文档章节

硬盘IO性能测试---总结

臧教授
 臧教授
发布于 2017/04/05 09:51
字数 2169
阅读 10
收藏 0
  1. dd命令的调用流程

 

上图中的f_op数据结构是在open一个文件或设备时赋值的,其中的read, write等指向真正的操作该文件的函数。通过这个流程图,我们可以看出该设备或文件的驱动实现了标准的读写函数,就可以利用dd进行读写

 

./ktap -s scsi:scsi_dispatch_cmd_done  

同时运行dd命令,进行写操作

#dd if=/dev/zero of=test bs=1024 count=10  

ktap跟踪的输出结果如下:

  1. 6       0       swapper/6       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=127 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(WRITE_10 lba=345327616 txlen=1024 protect=0 raw=2a 00 14 95 48 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  2. 6       0       swapper/6       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(WRITE_10 lba=345328640 txlen=1024 protect=0 raw=2a 00 14 95 4c 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  3. 6       0       swapper/6       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(WRITE_10 lba=345329664 txlen=1024 protect=0 raw=2a 00 14 95 50 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  4. 6       0       swapper/6       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(WRITE_10 lba=345330688 txlen=1024 protect=0 raw=2a 00 14 95 54 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  5. 6       0       swapper/6       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(WRITE_10 lba=345331712 txlen=1024 protect=0 raw=2a 00 14 95 58 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  6. 6       0       swapper/6       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(WRITE_10 lba=345332736 txlen=1024 protect=0 raw=2a 00 14 95 5c 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  7. 6       0       swapper/6       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=127 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(WRITE_10 lba=345333760 txlen=1024 protect=0 raw=2a 00 14 95 60 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  8. 6       0       swapper/6       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(WRITE_10 lba=345334784 txlen=1024 protect=0 raw=2a 00 14 95 64 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  9. 6       0       swapper/6       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(WRITE_10 lba=345335808 txlen=1024 protect=0 raw=2a 00 14 95 68 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  10. 6       0       swapper/6       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(WRITE_10 lba=345336832 txlen=1024 protect=0 raw=2a 00 14 95 6c 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  11. 6       0       swapper/6       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(WRITE_10 lba=345337856 txlen=1024 protect=0 raw=2a 00 14 95 70 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  12. 6       0       swapper/6       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(WRITE_10 lba=345338880 txlen=1024 protect=0 raw=2a 00 14 95 74 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  13. 6       0       swapper/6       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(WRITE_10 lba=345339904 txlen=1024 protect=0 raw=2a 00 14 95 78 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  14. 6       0       swapper/6       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(WRITE_10 lba=345340928 txlen=1024 protect=0 raw=2a 00 14 95 7c 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  15. 6       0       swapper/6       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(WRITE_10 lba=345341952 txlen=1024 protect=0 raw=2a 00 14 95 80 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  16. 6       0       swapper/6       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(WRITE_10 lba=345342976 txlen=1024 protect=0 raw=2a 00 14 95 84 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  17. 6       0       swapper/6       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(WRITE_10 lba=345344000 txlen=1024 protect=0 raw=2a 00 14 95 88 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  18. 6       0       swapper/6       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(WRITE_10 lba=345345024 txlen=1024 protect=0 raw=2a 00 14 95 8c 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  19. 6       0       swapper/6       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=116 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(WRITE_10 lba=345346048 txlen=1024 protect=0 raw=2a 00 14 95 90 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  20. 6       0       swapper/6       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=63 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(WRITE_10 lba=345347072 txlen=1024 protect=0 raw=2a 00 14 95 94 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  


通过读取lba数值,可以查看到地址是连续的,从而可以得知dd在写数据过程是连续的IO;

 

在来看看读操作

 输入dd命令

 

  1. #dd iflag=direct,nonblock if=test of=/dev/zero bs=1M count=10  

 

 

  1. 1       0       swapper/1       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(READ_10 lba=345327616 txlen=1024 protect=0 raw=28 00 14 95 48 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  2. 1       0       swapper/1       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=117 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(READ_10 lba=345328640 txlen=1024 protect=0 raw=28 00 14 95 4c 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  3. 1       0       swapper/1       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(READ_10 lba=345329664 txlen=1024 protect=0 raw=28 00 14 95 50 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  4. 1       0       swapper/1       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=117 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(READ_10 lba=345330688 txlen=1024 protect=0 raw=28 00 14 95 54 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  5. 1       0       swapper/1       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(READ_10 lba=345331712 txlen=1024 protect=0 raw=28 00 14 95 58 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  6. 1       0       swapper/1       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=117 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(READ_10 lba=345332736 txlen=1024 protect=0 raw=28 00 14 95 5c 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  7. 1       0       swapper/1       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(READ_10 lba=345333760 txlen=1024 protect=0 raw=28 00 14 95 60 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  8. 1       0       swapper/1       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=117 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(READ_10 lba=345334784 txlen=1024 protect=0 raw=28 00 14 95 64 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  9. 1       0       swapper/1       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(READ_10 lba=345335808 txlen=1024 protect=0 raw=28 00 14 95 68 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  10. 1       0       swapper/1       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=117 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(READ_10 lba=345336832 txlen=1024 protect=0 raw=28 00 14 95 6c 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  11. 1       0       swapper/1       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(READ_10 lba=345337856 txlen=1024 protect=0 raw=28 00 14 95 70 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  12. 1       0       swapper/1       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=117 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(READ_10 lba=345338880 txlen=1024 protect=0 raw=28 00 14 95 74 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  13. 1       0       swapper/1       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(READ_10 lba=345339904 txlen=1024 protect=0 raw=28 00 14 95 78 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  14. 1       0       swapper/1       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=117 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(READ_10 lba=345340928 txlen=1024 protect=0 raw=28 00 14 95 7c 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  15. 1       0       swapper/1       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(READ_10 lba=345341952 txlen=1024 protect=0 raw=28 00 14 95 80 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  16. 1       0       swapper/1       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=117 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(READ_10 lba=345342976 txlen=1024 protect=0 raw=28 00 14 95 84 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  17. 1       0       swapper/1       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(READ_10 lba=345344000 txlen=1024 protect=0 raw=28 00 14 95 88 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  18. 1       0       swapper/1       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=117 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(READ_10 lba=345345024 txlen=1024 protect=0 raw=28 00 14 95 8c 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  19. 1       0       swapper/1       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=128 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(READ_10 lba=345346048 txlen=1024 protect=0 raw=28 00 14 95 90 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  
  20. 1       0       swapper/1       scsi_dispatch_cmd_done: host_no=0 channel=1 id=0 lun=0 data_sgl=117 prot_sgl=0 prot_op=SCSI_PROT_NORMAL cmnd=(READ_10 lba=345347072 txlen=1024 protect=0 raw=28 00 14 95 94 00 00 04 00 00) result=(driver=DRIVER_OK host=DID_OK message=COMMAND_COMPLETE status=SAM_STAT_GOOD)  

 

通过读取lba数值,可以看到dd的读io也是顺序的!

 

从而证明了dd在默认情况下是进行顺序读写测试的。

© 著作权归作者所有

共有 人打赏支持
臧教授
粉丝 8
博文 23
码字总数 31372
作品 0
朝阳
程序员
如何测试云硬盘

问题 UOS公有云开放以来,一些用户反应用dd命令测试出来的1TB云硬盘的吞吐率(MBPS)只有128MB/s,而不是我们SLA保证的170MB /s ,这是为什么?下面我会简单介绍如何测试硬盘,RAID,SAN,SSD...

ning235
2014/10/23
0
0
磁盘性能指标--IOPS、吞吐量及测试

一、概念介绍: 磁盘性能指标--IOPS ---------------------------------------------------------- IOPS (Input/Output Per Second)即每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指...

wushank
06/29
0
0
云硬盘总结【腾讯云】

产品概述: 云硬盘(Cloud Block Storage)简称CBS为一款存储设备。具有高可用、高可靠、低成本、可定制话的块存储 可以做云服务器的独立可扩展硬盘使用。 采用的三副本分布机制,提高数据的...

Yfblog
2017/12/21
0
0
一键测试脚本bench.sh

经过几个版本的演化,一键测试脚本 bench.sh 已经几乎全面适用于各种 Linux 发行版的网络(下行)和 IO 测试。 并将测试结果以较为美观的方式显示出来。 总结一下 bench.sh 特点: 1、显示当...

vshcxl
2016/12/19
103
0
gkvdb性能测试(v1.5)

gkvdb v1.5版本之后增加了binlog和事务支持,并且整合了缓存功能,整体性能得到极大提升,以下是gkvdb v1.5的性能测试报告,包括与leveldb的性能对比。 此外,本次数据库性能测试对比中去掉了...

John
2017/11/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Qt那些事0.0.7

在帮助文档(Overview - QML and C++ Integration)中随缘遇到一张图,是关于C++对象与QML整合介绍的,值得标记下来,虽然大部分功能也有所涉猎,但是还是留个记号,万一哪天我失忆了还想写Q...

Ev4n
31分钟前
0
0
快速幂运算

题:求一个数 data 的 n 次幂,要求时间复杂度为log(n) 1:递归算法: /** * x^3=(x^2)*x;x^7=(x^3)^2 * x * * 递归算法 * @param data 底数 * @param n 次...

偶尔诗文
35分钟前
1
0
Google 宣布将会关闭消费者版本 Google+

Google 家的社交平台 Google+ 原来曾经在今年 3 月发生了一次严重的用户资料外泄事故,但这科网巨擘却一直保密,直至今天华尔街日报把事件披露之后才确认事件。Google 在重申问题已经即时解决...

问题终结者
49分钟前
1
0
腾讯三大运维开源项目齐聚“OSCAR开源先锋日”

10月20日,腾讯开源三大运维开源项目——TARS、蓝鲸和织云Metis首次集结,参与了由中国信息通信研究院主办、云计算标准与开源推进委员会承办的 “OSCAR开源先锋日”。会上,腾讯开源团队与前...

腾讯开源
54分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部