首页 > 其他分享 >磁盘I/O性能测试工具

磁盘I/O性能测试工具

时间:2023-04-03 23:05:42浏览次数:35  
标签:文件 rw 性能 dev dd 测试 测试工具 磁盘 100%

测试磁盘I/O性能的工具有很多,如DD、Bonnie++、fio、iometer、hdparm等。下面简单介绍其中几个工具。

1. DD

DD(命令为dd)是Linux系统上一个非常流行的文件复制工具,在复制文件的同时可以根据其具体选项进行转换和格式化等操作。通过DD工具复制同一个文件(相同数据量)所需要的时间长短即可粗略评估磁盘I/O的性能。一般的Linux系统中都自带这个工具,用man dd命令即可查看DD工具的使用手册。

例子:用DD工具向磁盘上写入文件的测试,测试4种不同的块大小.

dd if=/dev/zero of=dd1.dat conv=fsync oflag=direct bs=1K count=100K
dd if=/dev/zero of=dd1.dat conv=fsync oflag=direct bs=8K count=100K
dd if=/dev/zero of=dd1.dat conv=fsync oflag=direct bs=1M count=10K
dd if=/dev/zero of=dd1.dat conv=fsync oflag=direct bs=8M count=2K
2. fio

fio 是一个 I/O 工具用来对硬件进行压力测试和验证,支持 13 种不同的 I/O 引擎,包括:sync, mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio 等等,I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, 等等。

常用参数:

filename=/dev/sdb1 测试文件名称,通常选择需要测试的盘的data目录。
direct=1 测试过程绕过机器自带的buffer。使测试结果更真实。
rw=randwrite 测试随机写的I/O
rw=randrw 测试随机写和读的I/O
bs=16k 单次io的块文件大小为16k
bsrange=512-2048 同上,提定数据块的大小范围
size=5g 本次的测试文件大小为5g,以每次4k的io进行测试。
numjobs=30 本次的测试线程为30.
runtime=1000 测试时间为1000秒,如果不写则一直将5g文件分4k每次写完为止。
ioengine=psync io引擎使用pync方式
rwmixwrite=30 在混合读写的模式下,写占30%
group_reporting 关于显示结果的,汇总每个进程的信息。
lockmem=1g 只使用1g内存进行测试。
zero_buffers 用0初始化系统buffer。
nrfiles=8 每个进程生成文件的数量。

磁盘读写常用测试点:

Read=100% Ramdon=100% rw=randread (100%随机读)
Read=100% Sequence=100% rw=read (100%顺序读)
Write=100% Sequence=100% rw=write (100%顺序写)
Write=100% Ramdon=100% rw=randwrite (100%随机写)
Read=70% Sequence=100% rw=rw, rwmixread=70, rwmixwrite=30(70%顺序读,30%顺序写)
Read=70% Ramdon=100% rw=randrw, rwmixread=70, rwmixwrite=30(70%随机读,30%随机写)
3. Bonnie++

Bonnie++ 是一款文件系统的基准性能自动化测试工具,包括测试文件系统的读写能力、查找能力、创建新文件的能力,它通过一系列的简单测试来生成文件系统的性能参数。其主程序提供两种风格的测试:针对单个文件的数据库风格的访问测试和针对大量小文件的创建和删除来模拟诸如 Squid , INN, 或者 Maildir 格式的 Email 这一类风格的访问测试。 Bonnie++ 对三个方面做基准测试:数据读、写速度,每秒可以完成的文件元数据操作次数。 Bonnie++ 12 项结果分为 5 大类,分别是 Sequential Output (写测试), Sequential Input (读测试), Random Seeks (读写测试), Sequential Create (顺序读写文件测试)和 Random Create (随机读写文件测试)。

常用参数:

-d:在测试时会生成一些文件,并读或更改这些文件。这个参数是设置测试文件放置的路径。
-s:单个测试文件的尺寸。这个参数值必须大于等于2倍测试使用的内存(最好为测试使用内存的两倍)。测试时应该用大文件尺寸。
-m:测试的机器名称
-r:测试需要用多少内存。如果省略这个值,则会用全部的物理内存。
-x:循环几次
-u:指定执行测试的OS用户。当以root执行时,必须显式指定。
4.hdparm

hdparm命令 提供了一个命令行的接口用于读取和设置IDE或SCSI硬盘参数。hdparm也可以粗略地测试磁盘的I/O性能,通过如下的命令即可粗略评估sdb这个磁盘的读性能。

hdparm -tT /dev/sdb

标签:文件,rw,性能,dev,dd,测试,测试工具,磁盘,100%
From: https://blog.51cto.com/key3feng/6167683

相关文章

  • SDK性能压测
    https://gerzz-interactive.feishu.cn/docx/Rvx5dMPAaovtUZxArmDc5Mefnbg 一:搭建环境jdk安装+设置环境变量+验证:11.0.18版本jmeter安装+设置环境变量+验证:apache-jmeter-5.5secureCRT9.3安装压测服务器配置:8核32G,网卡150兆  Hosthssh505HostName180.184.138.70......
  • 前端Vue项目打包性能优化方案
    一.前言Vue框架通过数据双向绑定和虚拟DOM技术,帮我们处理了前端开发中最脏最累的DOM操作部分,我们不再需要去考虑如何操作DOM以及如何最高效地操作DOM;但Vue项目中仍然存在项目首屏优化、Webpack编译配置优化等问题,所以我们仍然需要去关注Vue项目性能方面的优化,使项......
  • 性能分析之内核调试工具
    最近给自己定了些任务,把PPT重新编写一下,所有性能相关的话题都在计划的范围里。最近这几天在整理调试工具的培训PPT,本来是在7DGroup的云服务器上做实例的。结果发现有些数据显示不出来。看来现在的调试工具也是需要更新了,还要再出新版支持现在的云主机了。今天下午特地找了个物理机......
  • 性能分析之数据理解和数学基础
    PS:差不多完成了这一轮性能培训相关PPT的编写,一个最艰苦的部分也有了起色。对于每一个做性能分析的来说,不可跳过的一个提升阶段是对数据的理解。当初学者经历了工具的使用之后,下一步就面对了工具产出的数据,所以看得懂数据是必须的一个过程。性能分析中的数据理解:在数据理解上,有两个......
  • Apache JMeter压力测试工具的安装与使用
    官网下载https://jmeter.apache.org/download_jmeter.cgi然后解压即可运行双击bin/jmeter.bat汉化在软件里选择语言重启就会还原,所以这里直接改配置文件来永久汉化打开bin/jmeter.properties找到#language行,大概在第39行,改成language=zh_CN保存后重启jmeter即可使用教......
  • TF卡支持什么磁盘格式?
    TF支持FAT32和NTFS两种格式。手机一般使用的都是FAT32; 今天用TF卡升级公司产品固件,不能升级。发现TF卡是exFAT文件系统 win10系统格式化选项中没有FAT32怎么办?可以使用下面工具 ......
  • Spark视频王家林第119课: Spark Streaming性能优化:如何在生产环境下应对流数据峰值巨变
    Spark视频王家林第119课:SparkStreaming性能优化:如何在生产环境下应对流数据峰值巨变?本节讲解SparkStreaming性能优化:如何在生产环境下应对流数据峰值巨变?数据峰值及流量变化的不稳定有2个层面:1)第一个层面就是数据确实不稳定,例如晚上11点的时候访问流量特别高,相对其他时间而言表......
  • 从MLSQL性能设计到对架构师的重新思考
    从MLSQL性能设计到对架构师的重新思考五年前,我会认为,架构仅仅是针对一个可大可小的问题,把流程设计好,然后往里面填充合适的组件,从而最终解决这个问题。在这个过程中,区分架构师是否资深主要是在设计过程中对可扩展性,可维护性,以及成本权衡的把控能力。现在,我觉得架构不应该仅仅是这样......
  • 性能分析之调试工具——GDB之二
    由于上一个GDB的写的水份比较足,所以应看官们的要求,来写些具体的东西。其实网上有很多GDB的教程。我也搜索过。但是总是有那么一两个点缺少的。所以决定自己还是把工作中的记录一些下来。至少是具体工作中的实践操作。前几天因为遇到个redis的问题,所以编译了一下reids,并且做一些监控......
  • 性能分析之dubbo性能参数导致单cpu高
    今天记录一个小问题。问题不大,也没什么分析的逻辑可以讲的。但是想着比较典型,所以就写一写。某年某月的某一天,就像一张破碎的脸......不对,串台了。这一日,一个朋友发来个问题。听起来是个问题。一个线程忙,这种情况应该比较好处理吧。再看一下CPU的状态是什么样,记住这一步是看进程......