Linux硬盘测速

article/2025/8/23 5:51:58

前言

linux硬盘测速,项目中经常遇到在第三方虚拟化平台搭建的操作系统部署业务系统,由于服务器硬盘、虚拟化平台自身问题使得硬盘速度较慢,导致业务系统卡慢超时。

本文主要介绍linux下的硬盘读写速度以及IO测速

简单的硬盘读写测速:dd+hdparm

1、测试硬盘读速度:hdparm

硬盘在读写在过程中部分数据通过buffer和cache缓存在内存中从而提高读写速度,hdparm对两种缓存做了区分。

cache缓存:硬盘cache的目的是提高硬盘读/写信息的速度,在硬盘进行读写工作状态下,让更多的数据存储在缓存中,以提高硬盘的访问速度。

buffer缓存:从硬盘里取信息,我们先把读出的数据放在缓冲区,计算机再直接从缓冲区中取数据,等缓冲区的数据取完后再去硬盘中读取,这样就可以减少硬盘的读写次数,计算机对缓冲区的操作大大快于对硬盘的操作,故应用缓冲区可大大提高计算机的运行速度

a.测试buffer缓存下硬盘的读取速度

[root@localhost ~]# hdparm -t /dev/sda

/dev/sda:

Timing buffered disk reads: 1118 MB in 3.01 seconds = 371.97 MB/sec

b.测试cache缓存下硬盘读取速度

[root@localhost ~]# hdparm -T /dev/sda

/dev/sda:

Timing buffered disk reads: 1118 MB in 3.01 seconds = 371.97 MB/sec

c.测试不用buffer缓存情况下,读取10g数据的速度,默认一个offset =1G速度

[root@localhost ~]# hdparm -t --direct --offset 10 /dev/sda

/dev/sda:

Timing O_DIRECT disk reads (offset 10 GB): 1808 MB in 3.00 seconds = 602.32 MB/sec

2、测试硬盘读写速度:dd

dd用于复制,从if读出,写到of,测试出的结果均为顺序读写速度

if=/dev/zero不产生IO,因此可以用来测试纯写速度

同理of=/dev/null不产生IO,可以用来测试纯读速度

bs是每次读或写的大小,即一个块的大小,count是读写块的数量

a.测试纯写速度,8k的块大小写125000次

[root@localhost ~]# dd if=/dev/zero of=test bs=8k count=125000

125000+0 records in

125000+0 records out

1024000000 bytes (1.0 GB) copied, 5.10565 s, 201 MB/s

b.测试纯读速度,8k的块大小写125000次

[root@localhost ~]# dd if=test of=/dev/null bs=8k count=125000

125000+0 records in

125000+0 records out

1024000000 bytes (1.0 GB) copied, 0.361756 s, 2.8 GB/s

c.上述dd命令完成前并没有让系统真正把文件写到硬盘上,dd先把数据写到操作系统“写缓存”,就完成了写操作。需要调用sync函数,把“写缓存”中的数据刷入硬盘。

1、-fsync是将数据已经写入硬盘,但是是在经过缓存后最后再写入硬盘

[root@localhost ~]# dd if=/dev/zero of=test bs=8k count=125000 conv=fsync

125000+0 records in

125000+0 records out

1024000000 bytes (1.0 GB) copied, 5.31894 s, 193 MB/s

2、 -dsync 可以当成是模拟数据库插入操作,在/dev/zone中读出一条数据就立即写入硬盘,速度会很慢

[root@localhost ~]# dd if=/dev/zero of=test bs=8k count=1250 oflag=dsync

1250+0 records in

1250+0 records out

10240000 bytes (10 MB) copied, 1.18191 s, 8.7 MB/s

专业的硬盘压测工具:FIO

利用fio进行测试时,需要将旧的硬盘先卸载掉然后格式化。或者添加一块新硬盘后格式化。如果磁盘已经挂载,执行fio会提示/dev/sdb appears mounted, and 'allow_mounted_write' isn't set. Aborting.

umount /dev/sdb # 卸载硬盘

mkfs.ext4 /dev/sdb # 格式化硬盘

a.参数说明

filename=/dev/sdb 测试文件名称,通常选择需要测试的盘的data目录。

direct=1 测试过程绕过机器自带的buffer。使测试结果更真实。

rw=randwrite 测试随机写的I/O

rw=randrw 测试随机写和读的I/O

bs=16k 单次io的块文件大小为16k,如不写默认为4k

size=1g 测试文件大小为1g

iodepth 测试的io深度

numjobs=1 本次的测试线程数

runtime=60 测试时间为60秒

ioengine=psync io引擎使用pync方式

rwmixwrite=30 在混合读写的模式下,写占30%

group_reporting 关于显示结果的,汇总每个进程的信息

b.4K 随机写,队列深度为1,10g的数据,测试线程数为1,测试时间 60s

fio -name=fiotest -filename=/dev/sdb -group_reporting -direct=1 -ioengine=libaio -iodepth=1 -size=1g -rw=randwrite -bs=4k -numjobs=1 -runtime=60

c.测试 1M 顺序读,队列深度为1,10g的数据,测试线程数为1,测试时间 60s:

fio -name=fiotest -filename=/dev/vdb -group_reporting -direct=1 -ioengine=libaio -iodepth=1 -size=1g -rw=read -bs=1M -numjobs=1 -runtime=60

d.结果参数解析

磁盘的吞吐量bw,这个是顺序读写主要关注的参数

磁盘的每秒读写次数iops,这个是随机读写主要关注的参数

io=执行了多少M的IO

bw=平均IO带宽

iops=IOPS

runt=线程运行时间

slat=提交延迟

clat=完成延迟

lat=响应时间

bw=带宽

cpu=利用率

IO depths=io队列

IO submit=单个IO提交要提交的IO数

IO latencies=IO完延迟的分布

io=总共执行了多少size的IO

aggrb=group总带宽

minb=最小.平均带宽.

maxb=最大平均带宽.

mint=group中线程的最短运行时间.

maxt=group中线程的最长运行时间.

ios=所有group总共执行的IO数.

merge=总共发生的IO合并数.

ticks=Number of ticks we kept the disk busy.

io_queue=花费在队列上的总共时间.

util=磁盘利用率


http://chatgpt.dhexx.cn/article/vPEcYeHI.shtml

相关文章

使用windows自带的磁盘测速工具对硬盘进行测速——从此无需额外下载第三方硬盘测速工具

文章目录 1. 以管理员身份运行PowerShell2. 对系统盘(C盘)进行测速3. 对某一指定的硬盘分区进行测速 1. 以管理员身份运行PowerShell 鼠标右键单击屏幕左下角的Windows图标,然后鼠标左键点击弹出的菜单中的Windows PowerShell(管…

利用win10自带的工具测硬盘读写速度

利用win10自带的硬盘测试工具测读写速度。 一、winq 打开搜索框,输入 cmd 找到命令提示符,右击以管理员身份运行。 ​​ 二、在命令框里输入 winsat disk 是默认测试系统盘的速度,不出意外都是C盘。 三,当我们要想测试其他盘…

Windows自带硬盘测试工具使用教程

本教程主要讲解Windows自带的硬盘测试工具的使用,不用再安装第三方软件了。到底准不准就不知道啦,下面我们来看看如何使用吧~ 1. 进入cmd 快速进入cmd 主要如果进入后,使用命令直接闪退,就是说明需要用管理员打开。 WinS 快捷键&…

【硬盘测速】一条命令解决硬盘测速问题

硬盘测速 前言使用步骤End 前言 刚买到的硬盘装好之后,大部分人都会对硬盘进行测速,普遍会想到的测速方法是下载测速软件测试一下,但是有一种方法既简便又快速,就是利用Windows自带的命令进行测速。 使用步骤 命令格式为【比如…

下载阿里巴巴矢量图

1.官方地址 官方地址

阿里巴巴(ALIBABA,1688)以图搜图获取上传图片获取图片地址signature

它采用的是自己的系统OSS系统,我们通过计算来获取signature,无法获得它的密钥,需要朋友联系qq418665906. Signature这里我采用其他的解决方案 根据自己定义的图片名上传成功图片, 下面是oss错误提示

iconfont的使用,阿里矢量图库的引用,配置,改变图标大小和图标颜色

怎么使用iconfont 首先找到自己想要的图标,添加到购物车 如果你只要一个图标的话,或者确保之后这个项目不需要其他的图标的话,可以直接选择下载代码,但是你有多个图标的话,最好选择添加至项目 无论是添加项目还是直接下…

iconfont -阿里巴巴矢量图标的使用(图片版本)

网址:https://www.iconfont.cn/ 我们想要寻找相关的图标可以搜索中文来查找 好多好多可以调颜色等等 选择好自己需要的图标直接下载 点击下载弹出我们这个框 可以选择颜色等等去下载各种需要的素材

阿里图标库使用(在线使用)

1.首先你需要准备一个github或者新浪微博账号用来登录(拥有阿里员工账号也可) 地址:https://www.iconfont.cn/ 2.选择图标库,在搜索框选择需要搜索的图标 3.点击需要使用的图标并入库(如图所示) 4.点击右上…

阿里巴巴矢量图库,图标导入的简单使用

文章目录 引言正文开始下载素材1.第一步添加素材2.将购物车中iocn添加到项目中3.下载项目 使用素材1.文件解压缩2.将解压后的文件拉入自己的网页项目中3.如何使用4.简单修改颜色大小 引言 这个东西刚学用起来比较奇怪,刚刚搞了一下【Unicode】这一栏的引用方式 感觉…

阿里矢量图库icomoon的icon引用方法

阿里矢量图库使用方法 step1:找到你需要的图标,并将需要的图标加入购物车 鼠标放在你需要的图标上就会显示加入购物车标识 step2 点击右上角购物车标志,将需要的icon添加☞项目 这里也可以点击“下载代码”按钮下载需要引入的文件&#x…

iconfont的使用,阿里矢量图库的引入

为什么要使用iconfont.css 由于在如今的开发过程中,各种图标的使用越来越多,如搜索框中使用个搜索图标,删除按钮使用删除图标等。但是如果均使用图片来代替的话,一是会占有大量的内存,二是如果进行缩放,则会…

前端 - 如何引入阿里巴巴矢量图库?

1.进入阿里巴巴矢量图库官网:iconfont-阿里巴巴矢量图标库 2.登录账号 3.查找所需图标,添加至购物车 4.添加至项目 5.下载至本地 6.引入至main.js 7.在组件中调用

使用阿里巴巴的iconfont图片库(下载到本地)

1.登录&#xff0c;选择喜欢的图标加入购物车 2.添加至项目 3.修改项目设置 保存之后&#xff1a;下载至本地->解压 代码使用 <icon class"iconfont icon-caidan"></icon>效果图&#xff1a;

前端使用阿里巴巴矢量图库的图标大全

前端如何使用阿里巴巴矢量图库的图标 1.首先搜索想要的图标 阿里巴巴矢量图库http://www.iconfont.cn,可以github登录或者微博登录 2.添加购物车 3.添加至项目 没有项目可以新建一个项目&#xff0c;添加到项目的好处是可以让你一次性下载多个你看中的图标。 4.下载至本…

React使用iconfont阿里巴巴矢量图库

1.选择图标 iconfont官网地址&#xff1a;https://www.iconfont.cn/ 在官网选择自己所需要的图标&#xff0c;并加入购物车 2.将图标加入项目 3.更新链接 一定要注意&#xff0c;每次在项目中添加新的图标后都要更新链接&#xff0c;否则使用就链接只会显示旧的图标 4.在…

Android studio 使用阿里巴巴图标矢量图库

安利一个炒鸡好用的矢量图库(快戳我&#xff09;&#xff01; 注册登录即可使用&#xff01; 有没有和我一样的伙伴&#xff0c;在做开发的时候需要一些图标矢量&#xff0c;又嫌弃安卓自带的图标矢量太土了不好看的朋友&#xff01;如果有&#xff0c;那你来对地方了&#x…

Iconfont 阿里图库使用(小程序和H5)

前言 现在前端发展的太快&#xff0c;前端优化也是&#xff0c;图片也是被近2年来比较火的就是阿里图库取代了&#xff0c;不管小程序还是H5 都在用 好了&#xff0c;那么就介绍下如何使用吧 阿里图库 当然需要你到阿里官网 http://www.iconfont.cn/ 注册这个流程我这边就不讲…

小程序引入阿里云矢量图库图标

简介 阿里云矢量图库&#xff08;Aliyun Vector Icon Library&#xff09;是阿里云提供的一个图标库&#xff0c;为开发者和设计师提供了丰富的矢量图标资源&#xff0c;用于在网页、移动应用和其他设计项目中使用。 使用阿里云矢量图库&#xff0c;你可以快速搜索、选择和下…

阿里矢量图库 iconfont 引入项目使用方法

1.打开阿里巴巴矢量图标库官网https://www.iconfont.cn/login? 注册或登录 2.搜索自己想要的所有图标&#xff0c;添加入库&#xff1b; 3.新建项目&#xff0c;添加所有图标至项目中&#xff1b; 3.1.打开自己的购物车 3.2.新建项目 不要直接下载代码&#xff0c;或缺少所需…