在Linux下想要知道磁盘的读写速度,对数据库能承受多大压力也有很有帮助的。方法呢有很多。但我今天要说的是关于DD的。
a.有关于测读的
time dd if=/dev/zero of=/var/test bs=2M count=3000
哇,这么快的速度,真不敢相信自己的眼睛。要是你不知道服务器的配置,还以为就真有这么快呢!!
b.再来测测写吧
time dd if=/var/test of=/dev/null bs=2M
是不是不相信自己的眼睛。
c.再来一张吧
time dd if=/dev/vda3 of=/var/2017 bs=2M count=300
同是一台机器,为什么相差这么大呢??
我们来看一下每个参数是什么意思吧。
命令详解:
time 用于计时(real实际耗时,user用户态耗时,sys系统态耗时)
dd 用于复制,从if读出(input file),写到of(output file)。
if=/dev/zero 不产生IO,因此可以用来测试纯写速度; 同理of=/dev/null不产生IO,可以用来测试纯读速度。
bs 是每次读或写的大小,即一个块的大小;
count 是读写块的数量,相乘就是读写数据量大小,数据量(count)越大越准确,多次测试取平均值。
看清楚了这三条命令的区别了吗?
if=/dev/**,是的最关键的是dev/后面根的参数,不要用zero,参数也解释了,这样是不产生I/O的。测出来的数据不准确。所以产生的结果相差这么大。
注:一定要根真实设备号(输入命令df -Th,可以得到,红色部分)上图
好了,就写到这儿了吧!!
时间: 2024-10-12 01:06:00