linux 测试硬盘性能

发布于:2024-12-18 ⋅ 阅读:(89) ⋅ 点赞:(0)

这里写了三种测试方法,从基础到高级,需要复杂的直接看最后一种.
测试的时候会占用cpu,同时提高整体功耗,如果是软raid,会显著增加cpu负载

一、使用hdparm测试-顺序读能力

hdparm为简单测试:硬盘顺序读写能力

1.安装软件

apt-get install hdparm

2.获取硬盘信息

查询所有的硬盘信息

fdisk -l

3.测试性能

此命令会显示硬盘的缓存读取速度(-T)和直接读取速度(-t)

sudo hdparm -Tt /dev/sda

注意:测试的可以是硬盘,也可以是raid(包括软raid和硬raid)
结果类似如下:
我这里是一个硬raid卡+2块sata固态(raid1)
在这里插入图片描述

二、dd 测试-顺序写入、顺序读取能力

dd 是一个功能强大的文件复制工具,可以用来测试磁盘的顺序读写性能

1.安装软件

dd命令系统自带,无需安装

2.获取硬盘信息

查询所有的硬盘信息

fdisk -l

3.测试

测试写入性能

dd if=/dev/sda of=/tmp/testfile bs=1M count=1024 oflag=direct

这个命令将会把 /dev/zero(一个虚拟的空设备)写入到 /tmp/testfile 中,写入大小为 1MB(bs=1M),总共写入 1024MB(count=1024)。oflag=direct 表示绕过缓存,直接写入硬盘。
结果类似如下:

在这里插入图片描述

测试读取性能

dd if=/tmp/testfile of=/dev/null bs=1M

这个命令会读取刚才写入的文件并丢弃输出(of=/dev/null),测试硬盘的读取速度。
结果类似如下:
在这里插入图片描述

三、fio 测试-随机和顺序读写性能

fio 是一个更为复杂和强大的磁盘性能测试工具,它支持多种读写模式、块大小等

1.安装软件

apt-get install -y fio

2.获取硬盘信息

查询所有的硬盘信息

fdisk -l

3.测试

读取测试

fio --name=write-test --ioengine=sync --rw=write --bs=1M --size=10G --numjobs=1 --time_based=0 --runtime=30m --filename=/dev/sda

写入测试

fio --name=read-test --ioengine=sync --rw=read --bs=1M --size=10G --numjobs=1 --time_based=0 --runtime=30m --filename=/dev/sda

其中,–rw=write 和 --rw=read 分别表示测试写入和读取性能,–bs=1M 表示每个 I/O 操作的块大小为 1MB,–size=10G 表示测试文件大小为 10GB。–filename为指定具体硬盘或者目录(测试这个目录所在硬盘)

注意:如果不写filename则默认是测试所有硬盘

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到