学向勤中得,萤窗万卷书。这篇文章主要讲述磁盘读写测试--基于dd工具相关的知识,希望能为你提供帮助。
linux操作系统自带dd命令,可用来做磁盘IO读写性能测试
1、测试工具和用例a、测试用例-写入到磁盘(异步,最后一次性写入磁盘)
dd
bs=1M
count=128
if=/dev/zero
of=test
conv=fdatasync
加入conv=fdatasync这个参数后,dd命令执行到最后会真正执行一次“同步(sync)”操作,所以这时候得到的是读取这128M数据到内存并写入到磁盘上所需的时间,这样算出来的时间才是比较符合实际的。
b、测试用例-写入到磁盘(同步,边写边同步到磁盘)
dd
bs=1M
count=128
if=/dev/zero
of=test
oflag=dsync
加入这个oflag=dsync参数后,dd在执行时每次都会进行同步写入操作。也就是说,这条命令每次读取1M后就要先把这1M写入磁盘,然后再读取下面这1M,一共重复128次。这可能是最慢的一种方式了,因为基本上没有用到写缓存(write
cache)。
2、测试过程
dd if=/dev/dm-6 of=/dev/null bs=1k count=10000 iflag=direct
###读取速率,每块1k。常用来测试数据库IO延迟等
dd命令测磁盘的步骤:
touch
/var/1GB.FILE
//建立空文件。
time
dd
if=/dev/zero
of=/var/1GB.FILE
bs=1024
count=1000000
###从/dev/zero复制到/var/下,使1GB.FILE空文件变为bs*count大小
3、数据库测试总结a、数据经常把bs块分为1k、2k、4k、8k、12k,1M、2M、4M、8M、12M,以及更大的块来测试得写。一般情况下对于一个1G大小的文件读写比1024个1M大小的文件读写性能要好很多、执行时间也会很快;
【磁盘读写测试--基于dd工具】
推荐阅读
- FFHLinux下配置小熊派-鸿蒙·叔设备开发(南向)的开发环境
- #yyds干货盘点#jackson学习之六(常用类注解)
- Teleport堡垒机介绍
- #yyds干货盘点# Python网络爬虫之js逆向之远程调用(rpc)免去抠代码补环境简介
- go语言学习--注释
- Shell标准输入输出和错误
- awk-printf 语句自定义函数
- MySQL数据库——索引
- Nginx Rewirte指令