侧边栏壁纸
博主头像
CYC的个人博客博主等级

学习使人进步

  • 累计撰写 99 篇文章
  • 累计创建 11 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

Linux系统测试磁盘性能

Administrator
2025-04-09 / 0 评论 / 0 点赞 / 19 阅读 / 4347 字

Linux系统测试磁盘性能

背景:这几天在华为私有云上栽了跟头,曾经安装了几十次的数据库居然出现了查询慢,慢到单条数据查询都延迟,数据库关闭启动延迟,因为本人只有服务器的使用权没有管理权,曾联系总部单位升级cpu与内存。但是问题依然没有得到改善,一直都没有怀疑过是云硬盘的问题。直到排查发现了硬盘读写延迟,硬盘IO占用过高。并且总部联合排查确实发现了有相关的存储集群宕机导致占用了大量IO资源。现将个人排查思路与方法列在下方!

yum install sysstat

#查看磁盘I0

iostat -dx 1 10

#查看是否存在I0等待

vmstat 1 10

dd命令可以用来测量磁盘的读取和写入速度。

读取速度测试

dd if=/dev/sda of=test.tmp bs=64k count=16k conv=fdatasync,noerror && rm -f test.tmp

这里if=/dev/sda表示输入文件是硬盘,of=test.tmp表示输出文件是临时文件,bs=64k设置块大小为64KB,count=16k设置读取16384个块。

写入速度测试

dd if=/dev/zero of=/mnt/test.img bs=64k count=16k conv=fdatasync,noerror && rm -f /mnt/test.img

这里if=/dev/zero表示输入是零设备,of=/mnt/test.img表示输出文件是硬盘上的一个新文件,其余参数同上。注意,写入测试可能会对硬盘造成较大压力,请确保你有足够的空间和适当的权

yum install -y iotop

iotop 命令输出指标详细解析

3.1 指标解释

TID:线程 ID (Thread ID),即正在执行 I/O 操作的线程或进程的 ID。

PRIO:I/O 优先级。I/O 优先级与进程的调度优先级不同,表示该线程在 I/O 调度中的优先级。

USER:启动该进程或线程的用户。

DISK READ:磁盘读取速率。表示该进程从磁盘读取数据的速度(B/s、KB/s 等)。

DISK WRITE:磁盘写入速率。表示该进程向磁盘写入数据的速度。

SWAPIN:进程从交换分区中读取数据的百分比,表示该进程访问虚拟内存的频率。如果这个数值较高,意味着系统可能内存不足。

IO:I/O 等待时间,表示进程因为等待 I/O 操作而被阻塞的时间比例。这个值越高,意味着进程等待磁盘响应的时间越多。

0

评论区