这期来讲一下云服务器中linux架构下,跟磁盘相关的几款测试工具,包括运维经常使用的IO测试工具FIO,已经简单轻量化的测试工具DD,以及一个IO相关状态的查看工具IOSTAT,以下笔者就为您介绍这款工具的使用

存储的使用中需要关心什么指标

磁盘性能指标—IOPS

IOPS (Input/Output Per Second)即每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指标之一。IOPS是指单位时间内系统能处理的I/O请求数量,一般以每秒处理的I/O请求数量为单位,I/O请求通常为读或写数据操作请求。

随机读写频繁的应用,如小文件存储(图片)、OLTP数据库、邮件服务器,关注随机读写性能,IOPS是关键衡量指标。

顺序读写频繁的应用,传输大量连续数据,如电视台的视频编辑,视频点播VOD(Video On Demand),关注连续读写性能。数据吞吐量是关键衡量指标。

IOPS和数据吞吐量适用于不同的场合:

读取10000个1KB文件,用时10秒 Throught(吞吐量)=1MB/s ,IOPS=1000 追求IOPS

读取1个10MB文件,用时0.2秒 Throught(吞吐量)=50MB/s, IOPS=5 追求吞吐量

磁盘服务时间

传统磁盘本质上一种机械装置,如FC, SAS, SATA磁盘,转速通常为5400/7200/10K/15K rpm不等。影响磁盘的关键因素是磁盘服务时间,即磁盘完成一个I/O请求所花费的时间,它由寻道时间、旋转延迟和数据传输时间三部分构成。此处就不一一展开介绍了。

影响测试的因素

实际测量中,IOPS数值会受到很多因素的影响,包括I/O负载特征(读写比例,顺序和随机,工作线程数,队列深度,数据记录大小)、系统配置、操作系统、磁盘驱动等等。因此对比测量磁盘IOPS时,必须在同样的测试基准下进行,即便如此也会产生一定的随机不确定性

FIO的具体介绍与安装

FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio 等等,一般用于裸盘的测试较多,生产环境中测试时请谨慎使用,一定要了解该工具的测试方法,避免出现覆盖磁盘数据的情况

安装Fio

使用yum安装或者源码,二进制包等安装都可以,这里我们使用源码包安装为例

wget http://brick.kernel.dk/snaps/fio-2.2.5.tar.gz
yum install libaio-devel
tar -zxvf fio-2.2.5.tar.gz
cd fio-2.2.5
make
make install

Fio的简单使用

随机读:(可直接用,向磁盘写一个2G文件,10线程,随机读1分钟,给出结果)

fio -filename=/tmp/test_randread -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=16k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=mytest

顺序读:

fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=mytest

随机写:

fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=16k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=mytest

顺序写:

fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=16k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=mytest

混合随机读写:

fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=16k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=mytest -ioscheduler=noop

dd的具体介绍与安装

dd工具是一个linux自带的命令,一般无需安装。当写入到驱动盘的时候,我们简单的从无穷无用字节的源 /dev/zero 读取,当从驱动盘读取的时候,我们读取的是刚才的文件,并把输出结果发送到无用的 /dev/null。在整个操作过程中, DD 命令会跟踪数据传输的速度并且报告出结果。

dd工具在实际运维中的使用

一般可以用来测试直写的性能,因为缓存这一层往往是一个影响的因素。

测试纯写入性能
dd if=/dev/zero of=test bs=8k count=10000 oflag=direct

测试纯读取性能
dd if=test of=/dev/null bs=8k count=10000 iflag=direct

另外如果是测试实际应用层面的读写的时候,可以使用以下的命令,经过缓存层,更符合实际的情况。

测试磁盘写能力
time dd if=/dev/zero of=/testw.dbf bs=4k count=100000

测试磁盘读能力
time dd if=/dev/sdb of=/dev/null bs=4k

IOstat的具体介绍与安装

iostat也算是比较重要的查看块设备运行状态的工具,使用yum install iostat即可快速安装。相信大多数使用Linux的同学都用过这个工具,或者听说过这个工具。

dd工具在实际运维中的使用

我使用一张图来展示体现出来的效果。

下面是几个重点关注参数

1、iowait% 表示CPU等待IO时间占整个CPU周期的百分比,如果iowait值超过50%,或者明显大于%system、%user以及%idle,表示IO可能存在问题。

2、avgqu-sz 表示磁盘IO队列长度,即IO等待个数。

3、await 表示每次IO请求等待时间,包括等待时间和处理时间

4、svctm 表示每次IO请求处理的时间

5、%util 表示磁盘忙碌情况,一般该值超过80%表示该磁盘可能处于繁忙状态。

以上就是关于几款磁盘测试与IO查看的工具,希望读者朋友看完这篇文章后有所启发。

快速云:五分钟了解几款磁盘测试与IO查看的工具相关推荐

  1. android自定义美颜相机完整程序,Android OpenGL ES从入门到进阶(一)—— 五分钟开发一款美颜相机...

    源码链接:https://github.com/smzhldr/AGLFramework 一.前言 商店里有数十款的美颜相机类产品,其实现原理基本上都是以OpenGL ES为核心的特效处理,大神可以忽 ...

  2. android 美颜相机开发,Android OpenGL ES从入门到进阶(一)—— 五分钟开发一款美颜相机...

    源码链接:https://github.com/smzhldr/AGLFramework 一.前言 商店里有数十款的美颜相机类产品,以及像抖音,唱吧之类带有视频的软件,功能很强大,其实现原理基本上都是 ...

  3. Android OpenGL ES从入门到进阶(一)—— 五分钟开发一款美颜相机

    源码链接:https://github.com/smzhldr/AGLFramework 基础知识入门篇(Hello Triangle) 渲染纹理到屏幕 GLSurfaceView预览相机 简单易用的 ...

  4. 10分钟上手一款好用的服务器节点监测工具(Server 酱)

    Server 酱简介 Server酱,英文名「ServerChan」,是一款「手机」和「服务器」.「智能设备」之间的通信软件.说人话?就是从服务器.路由器等设备上推消息到手机的工具.开通并使用上它,只 ...

  5. 五分钟认清三款主流 Java Virtual Machine丨HotSpot、JRockit、J9

    可运行由 Java 语言编写出的程序的虚拟机可不仅仅只有 HotSpot 一款!包括本文内所介绍的 HotSpot.JRockit.J9 三款虚拟机也非全部!只不过文内的三款是我们一直在使用或者之后极 ...

  6. 微视点:网传社交游戏公司“五分钟”面临倒闭,引发各方热议

    曾凭借<开心农场>一举成名的社交游戏研发公司"五分钟",被传团队解散,相关业务已出手,"濒临倒闭".一夜之间负面消息蜂拥而至,引发业内人士激烈讨论. ...

  7. 【Microsoft Azure 的1024种玩法】七十四.五分钟在Azure Virtual Machines中快速部署一套软件项目管理及自动构建工具

    [简介] Apache Maven由 Apache 软件基金会所提供的一个软件项目管理及自动构建工具,Maven 为开发者提供了一套完整的构建生命周期框架.开发团队几乎不用花多少时间就能够自动完成工程 ...

  8. markdown 本地链接_五分钟快速入门Markdown

    前言 开篇第一问,什么是markdown?我为什么选择用它而不是用word? markdown是一种极为简洁的标记语言,使用markdown可以更集中于写作内容本身而不必过分纠结于格式排版问题,可以把 ...

  9. 五分钟搞定:Centos中Kafka和Zookeeper的快速安装教程

    [提前声明] 文章由作者:张耀峰 结合自己生产中的使用经验整理,最终形成简单易懂的文章 写作不易,转载请注明,谢谢! 代码案例地址: ?https://github.com/Mydreamandrea ...

最新文章

  1. 使用wireshark工具获得直连设备的IP地址
  2. Cortex-M3 异常中断向量表
  3. Tensorflow之调试(Debug) tf.py_func()
  4. 如何下载今日头条视频
  5. 论文浅尝 | HEAD-QA: 一个面向复杂推理的医疗保健数据集
  6. 经典算法系列三----堆排序
  7. web前端开发技术要求会什么
  8. 数据库表在join时的三种方式
  9. 【Ubuntu】Ubuntu16.04+VMware+Win10安装及配置教程
  10. atitit.薄伽梵歌overview  attilax 读后感
  11. 树莓派 4b 可执行文件 无法双击运行_树莓派01 - 树莓派系统安装
  12. 纯CSS3浮雕质感的立体文字旋转动画
  13. fw325r没有虚拟服务器,迅捷fw325r路由器设置完没有网怎么办?
  14. ajax 传实体对象,前端ajax或axios发送数据后端实体类接受(实例和报错原因)
  15. rtf转换成html,转换Rtf到HTML
  16. 清除本地dns(Mac,win)
  17. 海康威视错误代码说明
  18. 写个日志请求切面,前后端甩锅更方便
  19. 华为云计算基础之Fusion Compute介绍
  20. 怎么分辨“阳虚”和“阴虚”,看您属于哪一种?

热门文章

  1. 叠瓦式硬盘 微型计算机,叠瓦式硬盘到底多坑人,你还敢乱买吗?我来告诉你原因...
  2. 推荐一款我一直在用的办公必备的小众便签软件——好用便签
  3. 拼多多店群如何精细化运营,掌握蓝海选品思路轻松月入过万
  4. 快手爬票(爬取火车票信息)
  5. java二叉树的深度_Java实现二叉树的深度计算
  6. 【天光学术】信息管理论文:基于大数据的车联网个性化信息服务探讨(节选)
  7. 上计算机课的日记,科学网—上计算机课,不接触计算机----日记摘抄(161) - 武夷山的博文...
  8. 郑州的python培训班
  9. 开发个人量化交易系统之路
  10. jquery项目移动端适配