fio 测试磁盘性能
在磁盘测试中最关心的几个指标分别为:
iops(每秒执行的IO次数)、bw(带宽,每秒的吞吐量)、lat(每次IO操作的延迟)。
当每次IO操作的block较小时,如512bytes/4k/8k等,测试的主要是iops。
当每次IO操作的block较大时,如256k/512k/1M等,测试的主要是bw。
1. FIO 简介
FIO 是一款 用于对磁盘进行性能测试的工具。可以测试IOPS,吞吐量,IO延迟等主要性能指标。而且支持多种IO引擎。
2. FIO 下载
下载地址:http://brick.kernel.dk/snaps/
打开以上网址,选择自己需要的版本并下载。比如:
wget http://brick.kernel.dk/snaps/fio-3.5.tar.gz
--2018-03-26 14:19:37-- http://brick.kernel.dk/snaps/fio-3.5.tar.gz
正在解析主机 brick.kernel.dk... 216.160.245.99
正在连接 brick.kernel.dk|216.160.245.99|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 302 Found
位置:http://113.215.21.45:80/1Q2W3E4R5T6Y7U8I9O0P1Z2X3C4V5B/brick.kernel.dk/snaps/fio-3.5.tar.gz [跟随至新的 URL]
--2018-03-26 14:19:39-- http://113.215.21.45/1Q2W3E4R5T6Y7U8I9O0P1Z2X3C4V5B/brick.kernel.dk/snaps/fio-3.5.tar.gz
正在连接 113.215.21.45:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:729544 (712K) [application/x-gzip]
正在保存至: “fio-3.5.tar.gz”
72% [======================================================================> ] 532,565 154K/s eta(英国中部时
83% [=================================================================================> ] 610,757 159K/s eta(英国中部时
84% [=================================================================================> ] 616,549 149K/s eta(英国中部时
96% [=============================================================================================> ] 706,325 162K/s eta(英国中部时
100%[=================================================================================================>] 729,544 164K/s in 4.3s
2018-03-26 14:19:44 (164 KB/s) - 已保存 “fio-3.5.tar.gz” [729544/729544])
或者下载后再上传至服务器。
3. 解压并安装
# tar -xzvf ./fio-3.5.tar.gz
.... 省略输出
# cd fio-3.5
# make && make install
.... 省略输出
# which fio
/usr/local/bin/fio
4. 使用说明
filename=/dev/sdb1 测试文件名称,通常选择需要测试的盘的data目录。
direct= 测试过程绕过机器自带的buffer。使测试结果更真实。
rw=randwrite 测试随机写的I/O
rw=randrw 测试随机写和读的I/O
bs=16k 单次io的块文件大小为16k
bsrange=- 同上,提定数据块的大小范围
size=5g 本次的测试文件大小为5g,以每次4k的io进行测试。
numjobs= 本次的测试线程为30.
runtime= 测试时间为1000秒,如果不写则一直将5g文件分4k每次写完为止。
ioengine=psync io引擎使用pync方式
rwmixwrite= 在混合读写的模式下,写占30%
group_reporting 关于显示结果的,汇总每个进程的信息
lockmem=1g 只使用1g内存进行测试。
zero_buffers 用0初始化系统buffer。
nrfiles= 每个进程生成文件的数量
5. 测试示例
混合测试:
fio -filename=/tmp/test -direct= -iodepth -thread -rw=randrw -rwmixread= -ioengine=psync -bs=512b -size=200m -numjobs= -runtime= -group_reporting -name=mytest
顺序读:
fio -filename=/dev/test -direct= -iodepth -thread -rw=read -ioengine=psync -bs=16k -size=2G -numjobs= -runtime= -group_reporting -name=mytest 随机写:
fio -filename=/dev/test -direct= -iodepth -thread -rw=randwrite -ioengine=psync -bs=16k -size=2G -numjobs= -runtime= -group_reporting -name=mytest 顺序写:
fio -filename=/dev/test -direct= -iodepth -thread -rw=write -ioengine=psync -bs=16k -size=2G -numjobs= -runtime= -group_reporting -name=mytest
fio 测试磁盘性能的更多相关文章
- vdbench和fio测试磁盘性能的对比总结
一.安装 1.安装vdbench,首先安装java:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-213 ...
- [记录]FIO测试磁盘iops性能
FIO测试磁盘iops性能 1.SATA和SAS盘原生IOPS如下: 2.RAID磁盘阵列对应的写惩罚级别: 3.计算功能性IOPS公式如下: 功能性 IOPS=(((总原生 IOPS×写 %))/( ...
- 使用SQLIO测试磁盘性能
SQLIO 是一个用于测试存储系统能力的命令行工具,用以获取存储系统相关的性能指标,以判断系统的 I/O 处理能力. 在微软的网站可以下载 SQLIO 的安装包,安装后目录中会出现如下文件: EULA ...
- linux使用FIO测试磁盘的iops 【转载】
linux使用FIO测试磁盘的iops 2013-09-23 10:59:21 分类: LINUX FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括 ...
- 【转】dd命令详解及利用dd测试磁盘性能
dd命令详解及利用dd测试磁盘性能 linux下dd命令详解 名称: dd 使用权限: 所有使用者 manpage 定义: convert and copy a file 使用方式: dd [op ...
- Linux 中使用 dd 测试磁盘性能
翻译自 : Linux I/O Performance Tests using dd 基本说明 dd 可以用来做简单的低级别复制文件. 这样做, 一般都是可一直直接访问设备文件. 需要说明的是, 错误 ...
- 使用FIO测试磁盘iops
我们如何衡量一个存储的性能呢?IOPS(Input/Output OperationsPer Second),即每秒进行读写(I/O)操作的次数是国际上通用的存储性能衡量标准,IOPS越高意味着在同一 ...
- iozone测试磁盘性能
什么是iozone? iozone是一个文件系统的benchmark工具,可以测试不同的操作系统中文件系统的读写性能. 可以测试 Read, write, re-read,re-write, read ...
- 使用iozone测试磁盘性能
IOzone是一个文件系统测试基准工具.可以测试不同的操作系统中文件系统的读写性能.可以通过 write, re-write, read, re-read, random read, random w ...
随机推荐
- java中有哪4种整形数据类型?它们有什么不同之处?
java中有哪4种整形数据类型?它们有什么不同之处? (byte.short.int和long型)最大值和最小值都不一样.
- django 学习手册 - ORM 报错集(随时更新)
报错问题: 问题一:(1050代码) django.db.utils.InternalError: (1050, "Table 'app01_group' already exists&qu ...
- Android中高级工程师面试题
https://www.cnblogs.com/huangjialin/p/8657565.html(存在不少答案错误,可参照知识点复习,答案不可全信) 上 https://www.cnblogs. ...
- 使用SQL*Plus连接数据库
About SQL*Plus SQL*Plus is the primary command-line interface to your Oracle database. You use SQL*P ...
- Android 6.0系统动态请求系统相机权限
private static final int TAKE_PHOTO_REQUEST_CODE = 1; public static String takePhoto(Context context ...
- shell文本左右对齐排版【转】
文本左右对齐排版 有文本4.txt如下: 111111111111111111111 98912 张三 222222222222222222 150020 李四四 333333333333333333 ...
- VS2017中VC++项目添加StringTable资源
1.在资源视图中选择Resource.rc,右键弹出菜单,选择[添加资源] 2.在[添加菜单]对话框中选择[String Table],新建即可
- 鸟哥Linux私房菜基础学习篇学习笔记2
鸟哥Linux私房菜基础学习篇学习笔记2 第九章 文件与文件系统的压缩打包: Linux下的扩展名没有什么特殊的意义,仅为了方便记忆. 压缩文件的扩展名一般为: *.tar, *.tar.gz, *. ...
- jquery $.trim()去除字符串空格
语法jQuery.trim()函数用于去除字符串两端的空白字符. 作用该函数可以去除字符串开始和末尾两端的空白字符(直到遇到第一个非空白字符串为止).它会清除包括换行符.空格.制表符等常见的空白字符. ...
- python操作mysql数据库增删改查的dbutils实例
python操作mysql数据库增删改查的dbutils实例 # 数据库配置文件 # cat gconf.py #encoding=utf-8 import json # json里面的字典不能用单引 ...