linux 测试磁盘读写压力

linux 测试磁盘读写压力

新到两台服务器,上面均没有运行服务,服务器品牌不一样,现在我想测试一下两台服务器的磁盘读写速度来比较哪个服务器好。

确定唯一性

比如我sdb是数据盘,已经格式化为sdb1,挂载到了 /data 目录下。这样我去对 /data 目录下读写测试的时候,就是测试的sdb这块盘的读写速度。或者我的服务目前挂载在这个目录下,我想测试这个目录也可以。

验证写入速度

# 两台服务均执行
mkdir -p /data 
dd if=/dev/zero of=/data/testfile bs=1M count=1024 oflag=direct
参数说明:
	if=/dev/zero: 从 /dev/zero 设备读取数据,该设备会产生无限个 0 值字节。
	of=/data/testfile: 将数据写入到 /tmp/testfile 文件中。
	bs=1M: 每次传输 1MB 的数据块。
	count=1024: 传输 1024 个数据块,总计 1GB 数据。
	oflag=direct: 使用 O_DIRECT 标志,避免使用内核缓存,直接写入磁盘。
记录输出结果中的"记录了 X+0 块"和"2.35 GB(2,523,363,840 字节)已复制,X.XX 秒,X.XX GB/秒"部分。
这样就得到了两台电脑的写入速度。

验证读取速度

# 两台服务均执行
mkdir -p /data 
dd if=/data/testfile of=/dev/null bs=1M count=1024 iflag=direct
参数说明:
	if=/data/testfile: 从之前创建的 /data/testfile 文件中读取数据。
	of=/dev/null: 将读取的数据丢弃到 /dev/null 设备中。
	iflag=direct: 使用 O_DIRECT 标志,避免使用内核缓存,直接从磁盘读取。
同样记录输出结果中的吞吐量数据,得到两台电脑的读取速度。
posted @ 2024-06-05 18:09  liwenchao1995  阅读(41)  评论(0编辑  收藏  举报