文档章节

硬盘测试——fio

jesse-lin
 jesse-lin
发布于 2016/11/06 15:43
字数 545
阅读 45
收藏 1
点赞 2
评论 0

fio(Flexible IO Tester) FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎, 包括:sync,mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio 等等。

参数说明:

filename=/dev/sdb1   #测试文件名称,通常选择需要测试的盘的data目录
direct=1             #测试过程绕过机器自带的buffer。使测试结果更真实
rw=randwrite         #测试随机写的I/O
rw=randread         #测试随机读的I/O
rw=randrw            #测试随机写和读的I/O
rw=read                #测试顺序读的I/O
rw=write                #测试顺序写的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引擎使用psync方式
rwmixwrite=30        #在混合读写的模式下,写占30%
group_reporting      #关于显示结果的,汇总每个进程的信息

lockmem=1G           #只使用1g内存进行测试
zero_buffers         #用0初始化系统buffer
nrfiles=8            #每个进程生成文件的数量

常用参数使用举例:

#顺序读
fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest

#顺序写
fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest

#随机读
fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest

#随机写
fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest

#混合随机读写
fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=100 -group_reporting -name=mytest -ioscheduler=noop

测试结果分析: bw:磁盘的吞吐量,这个是顺序读写考察的重点 iops:磁盘的每秒读写次数,这个是随机读写考察的重点

read : io=948896KB, bw=9475.1KB/s, iops=592, runt=100138msec
write: io=380816KB, bw=3802.1KB/s, iops=237, runt=100138msec

© 著作权归作者所有

共有 人打赏支持
jesse-lin
粉丝 0
博文 5
码字总数 3264
作品 0
中山
程序员
从传统运维到云运维演进历程之软件定义存储(四)

前面系列已经讲完了硬件选型、部署、调优,在上线之前呢需要进行性能存储测试,本章主要讲述下测试Ceph的几种常用工具,以及测试方法。 关卡四:性能测试关卡 难度:四颗星 说起存储性能永远...

Devin ⋅ 2016/10/19 ⋅ 0

centos fio测试 ,我去你大爷~~~

《fio》 fio 你很好, 今天写坏了我的文件系统 、 写坏了我的LVM; 你让我骂你好? 还是宣传你坏好呢? 满腔热血想喷你,但是发现我是个文明的人! 你写坏了我的盘,我因此从公司跑路..........

水果糖 ⋅ 2016/04/19 ⋅ 2

Notes: harddisk performance testing

nspecting disk IO performance with fio https://www.linux.com/learn/inspecting-disk-io-performance-fio 2. 如何测试云硬盘 http://way4ever.com/?p=465#comment-286035......

认真即可 ⋅ 2016/06/23 ⋅ 0

磁盘性能指标--IOPS、吞吐量及测试

一、概念介绍: 磁盘性能指标--IOPS ---------------------------------------------------------- IOPS (Input/Output Per Second)即每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指...

wushank ⋅ 2015/10/30 ⋅ 0

用FIO测试存储性能

fio,又称为Flexible IO Tester,是Jens Axboe编写的测试程序。Jens是Linux Kernel中blockIO subsystem的维护者。所以这个工具的权威性是毋庸置疑的。它支持的操作系统非常多,包含linux, wi...

leesbing ⋅ 2017/03/07 ⋅ 0

如何测试云硬盘

问题 UOS公有云开放以来,一些用户反应用dd命令测试出来的1TB云硬盘的吞吐率(MBPS)只有128MB/s,而不是我们SLA保证的170MB /s ,这是为什么?下面我会简单介绍如何测试硬盘,RAID,SAN,SSD...

ning235 ⋅ 2014/10/23 ⋅ 0

[转载] 磁盘硬件问题(坏块)检测

标签 PostgreSQL , Linux , Windows , SSD , smartctl , smartmontools , badblocks , hdparm , HD Tune 背景 Linux下面可以使用smartctl , badblocks检查是否有坏块。 Win下面可以使用HD Tu......

德哥 ⋅ 04/18 ⋅ 0

磁盘io性能分析

一,概念 磁盘io,顾名思义就是磁盘的输入输出。即向磁盘写入数据和从磁盘读取数据。 I/O 读写的类型,大体上讲,I/O 的类型可以分为: 读 / 写 I/O、大 / 小块 I/O、连续 / 随机 I/O, 顺序 ...

leejia1989 ⋅ 2014/09/15 ⋅ 0

磁盘IOPS概念及IOPS的计算与测试

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

angie_hawk7 ⋅ 2015/04/24 ⋅ 0

数据优化准则和方法

数据库优化准则: 思路:The fastest way to do something is don't do it. 第一种,把无用的步骤或者用处不大的步骤去掉就是一种优化。 第二种:做同样的一件事,要能更快的做。 主要优化指...

落叶刀 ⋅ 2015/11/21 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

SAS笔记-宏2

宏是一种文本,一般来说其编译是在程序执行之前。 宏变量的创建 %let语句 %let macro_variables = text; %let是常见的宏变量建立方式,其编译就在执行前。如下例中,想要宏变量test等于数据集...

tonorth123 ⋅ 11分钟前 ⋅ 0

如何使用serverchan微信推送告警

之前实现推送告警信息到微信的方法有如下几种: 1、通过企业公众号实现----收费: 2、通过QQ邮箱,在微信平台上开启收到邮件进行提醒; 3、第三方告警平台API,一般也是收费的; 不过最近看文...

问题终结者 ⋅ 37分钟前 ⋅ 0

TCP的RPC

RPC就是远程方法调用(Remote Process Call ),包含了客户端和服务端,涉及了对象的序列化传输。 1.服务端启动,注册远程调用的类2.客户端发送请求信息包含类、方法、参数的一些信息、序列化传...

Cobbage ⋅ 58分钟前 ⋅ 0

IOS-UI UI初步代码布局添加事件

ISO开发界面,UI是必须学习的一部分,其实很早之前想学来了,一直没有沉下心来学习。看到IOS的代码风格和布局就别扭的不行,跟java代码和android布局比较显得不是那么方便,所以一直到现在。...

京一 ⋅ 今天 ⋅ 0

浅谈OpenDaylight的二次开发

OpenDaylight作为一款开源SDN网络控制器,依托于强大的社区支持以及功能特性,成为了目前主流的SDN网络控制器开发平台。在比较稳定的OpenDaylight Helium版本中,已经为开发者提供了大量的网...

wangxuwei ⋅ 今天 ⋅ 0

API 开发中可选择传递 token 接口遇到的一个坑

在做 API 开发时,不可避免会涉及到登录验证,我使用的是jwt-auth 在登录中会经常遇到一个token过期的问题,在config/jwt.php默认设置中,这个过期时间是一个小时,不过为了安全也可以设置更...

等月人 ⋅ 今天 ⋅ 0

Java NIO之文件处理

程序要操作本地操作系统的一个文件,可以分为以下三个部分: 对文件位置的操作 对文件的操作 对文件内容的操作 其中,对文件内容的操作在 Java NIO之Channel 中已经有了介绍,通过FileChann...

士别三日 ⋅ 今天 ⋅ 0

Maven的pom.xml配置文件详解

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.......

小海bug ⋅ 今天 ⋅ 0

解决httpclient超时设置不生效的问题

最近公司有项目需要通过http调用第三方服务,且第三方服务偶有超时,故需要设置一定的超时时间防止不响应的情况出现。 初始设置如下: [java] view plain copy //超时设置 RequestConfig re...

Mr_Tea伯奕 ⋅ 今天 ⋅ 0

过滤器Filter和拦截器HandlerInterceptor

过滤器 依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要...

hutaishi ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部