首页 > 系统相关 >Linux测试硬盘性能测试之hdparm、dd

Linux测试硬盘性能测试之hdparm、dd

时间:2023-04-20 14:13:14浏览次数:44  
标签:dd dev hdparm 测试 磁盘 硬盘

你可以使用以下命令在一个Linux或类Unix操作系统上进行简单的I/O性能测试。

  • dd命令 :它被用来在Linux和类Unix系统下对硬盘设备进行写性能的检测。
  • hparm命令:它用来在基于 Linux 的系统上获取或设置硬盘参数,包括测试读性能以及缓存性能等。

一、hparm        

1.1、安装hdparm工具

[root@localhost ~]# yum install hdparm -y

1.2、显示硬盘的相关信息(可以使用 “lsblk” 来查看磁盘信息 )

[root@localhost ~]# hdparm /dev/sda
 /dev/sda:
 IO_support = 0 (default 16-bit)
 readonly = 0 (off)
 readahead = 256 (on)
 geometry = 19929[柱面数]/255[磁头数]/63[扇区数], sectors = 320173056[总扇区数], start = 0[起始扇区数

1.3、查看读写速度

[root@localhost ~]# hdparm -tT /dev/sda2

/dev/sda2:
 Timing cached reads:   15738 MB in  2.00 seconds = 7876.71 MB/sec
 Timing buffered disk reads: 3578 MB in  3.00 seconds = 1191.20 MB/sec
[root@localhost ~]# 

二、dd命令

使用time命令和dd命令可以简单测试硬盘的写速率,

这不是一个专业的测试工具,不过如果对于测试结果的要求不是很苛刻的话,平时可以使用来对磁盘的读写速度作一个简单的评估.

2.1 执行性能压测

测试写入20G数据,数据量越大,测试值应该更精确(测试过程中,需要关注两点,磁盘的读写速度和IO使用率,我们分别使用iopp和iostat工具来观察。)

time dd if=/dev/zero of=test.dd  bs=1M count=20000
解释:在当前目录下创建一个test的文件,写入20000个1M的数据。 
 
但我感觉这样的测试是不是没有把内容写到磁盘,而只是写到内存了,于是我在后面加上了sync
sync; time -p bash -c "(dd if=/dev/zero of=test.dd  bs=1G count=20);sync;"

其中/dev/zero是一个伪设备,它只产生空字符流,对它不会产生IO,所以,IO都会集中在of文件中,of文件只用于写,所以这个命令相当于测试磁盘的写能力。输出的结果类似(因为一般更长测试时间更准确,所以可以设置count大一些):

2.2 iotop观察数据

具体用法见另外随笔

执行上述命令后,使用iotop观察占用的I/O情况

# 安装软件
yum -y install iotop

#输出正在产生IO的进程
iotop -o -P

2.3 iostat观察数据

具体用法见另外随笔

# 安装工具
yum  -y install sysstat

# 观察
# 查看TPS和吞吐量信息(磁盘读写速度单位为KB)
[root@localhost ~]# iostat -m -x 2 5
-k:以kb为单位统计
-d:显示磁盘状态
-x:显示详细信息
2:统计时间间隔为2秒
5:统计5次

 

标签:dd,dev,hdparm,测试,磁盘,硬盘
From: https://www.cnblogs.com/wangzy-Zj/p/17336599.html

相关文章

  • 怎么修改Git remote add时使用的远程仓库?
    评:[email protected]:Liutos/foobar.gitwuyuntao我刚刚找到了办法,就是直接修改.git/config文件了,居然成功了,不过还是谢谢你的建议,之前一直失败,原来是gitremoterm的参数写错了~......
  • hdparm命令详解:-bash: hdparm: 未找到命令
    一、安装软件[root@localhost~]#yuminstallhdparm-y二、说明作用:Linuxhdparm命令用于显示与设定硬盘的参数。hdparm可检测,显示与设定IDE或SCSI硬盘的参数。语法:hdparm[-CfghiIqtTvyYZ][-a<快取分区>][-A<0或1>][-c<I/O模式>][-d<0或1>][-k<0或1>][-K<0或......
  • Eddy's digital Roots 1163 (数学+九余数定理)
    Eddy'sdigitalRootsTimeLimit:2000/1000MS(Java/Others)   MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):5278   AcceptedSubmission(s):2952ProblemDescriptionThedigitalrootofapositiveintegerisfoundbysumming......
  • Dynamics CRM - 安装 SSRS CRM Reporting Extensions 时报错:Action Microsoft.Crm.Set
    一、问题场景:   在安装CRM2016的SSRSReportingExtensions时遇到以下报错:    二、解决方案:   a.根据提示,访问对应路径的文件夹:C:\ProgramFiles\MicrosoftSQLServer\MSRS13.MSSQLSERVER\ReportingServices,可以看到ReportManager文件夹并不存在; ......
  • python+playwright 学习-54 结合 gremlins.js 实现web 网页的mokey测试
    前言在Android应用测试里面有个mokey测试可以对app做稳定性的测试,在app里面随机乱点发送一些事件,看app会不会异常。这种做法,也称为Monkey测试或Fuzz测试,在移动应用程序开发中非常常见。Gremlins.js模拟随机用户操作:gremlins单击窗口中的任意位置,在表格中输入随机数......
  • 使用Fiddler抓取WebSockets协议包
    背景服务端通过SignalR用WebSockets通讯方式,与显示屏进行交互,除了显示屏软件上日志入口,也能通过抓包抓取对应报文。同时,可通过工具模拟与显示屏软件推送信息。那HTTP和WebSocket有什么区别呢?引用网友写的描述HTTP建立在TCP协议基础上而WebSocket通常建立在TCP上,也说明了为什......
  • 后台性能测试规范
    参考资料ISO25010IEEE82929119书籍《PerformanceTestingAnISTQBCertifiedTesterFoundationLevelSpecialistCertificationReview.epub》目的规范云平台性能测试,包括测试指标、测试过程、性能分析等。测试指标本指标适用于使用性能测试进行性能测试项目技术质......
  • JavaScript网页自动化测试库
    以下是一些可以模拟鼠标键盘操作网页的JavaScript库: 1.Puppeteer:基于Node.js的自动化测试工具,可以模拟用户操作,包括点击、输入等。 2.Selenium:另一个流行的自动化测试工具,也可以进行鼠标键盘模拟操作。 3.Synth:轻量级的JavaScript库,可以模拟键盘和鼠标事件,包括点击、......
  • 用Selenium自动化测试时,让ChromeDriver中不显示“正受到自动测试软件控制”
    背景:在用Selenium做自动化测试的时候,默认ChromeDriver是会提示“Chrom正受到自动测试软件控制”的。如下图这样。但我们有些场景下,不希望这个提示出现。本文探索了几种语言去掉这个提示条的方法,希望对小伙伴有帮助。  1.JavaChromeOptionsoptions=newChromeOptions(......
  • Fiddler软件的安装
    1、准备好安装包,新建一个文件夹用来当安装路径,直接双击安装  ......