当前位置: 首页 > 编程日记 > 正文

Linux硬盘性能测试工具 - FIO

1.安装:
方法一:直接用指令yum -y install fio
方法二:如果方法一不可行则,在官网http://freshmeat.net/projects/fio/下载fio的安装包。安装方法很简单。解压缩后,进入目录输入./configure  make  make install。


2.执行:
命令行:

fio -filename=/data/fiotest -direct=1 -ioengine=libaio -iodepth=16 -rw=randrw -rwmixwrite=70 -bs=64k -size=10G -numjobs=4 -runtime=60 -group_reporting -name=test_rw
fio -filename=/data/fiotest -direct=1 -ioengine=libaio -iodepth=16 -rw=randrw -rwmixwrite=70 -bs=64k -size=10G -numjobs=4 -runtime=60 -group_reporting -name=test_rw

脚本:

vim /usr/local/src/fiotest.conf
[global]
filename=/data/fiotest  # the device/file name
direct=1        # use raw io instead of buffered io
ioengine=libaio # libaio is asynchronized io mode, sync is synchronized mode
iodepth=16      # if use libaio, iodepth means the ios can be submitted at the same time. It is important!
size=10G
numjobs=5       # number of clones of processes/threads for each job
runtime=60      # in seconds for each job
name=test_read
[rw64k-rand]
stonewall       # wait until the previous job is finished
bs=64k
rw=randrw
rwmixwrite=70
group_reporting
rw512k-rand]
stonewall       #wait until the previous job is finished
bs=512k
rw=randrw
rwmixwrite=70
group_reporting

注意 fio测试指令需要在root权限下才能操作
第一个text是运行完后在/data 目录下会生成一个5G的text文件。
第二个test_read是测试运行结果在屏幕上显示的都是以test_read:。。。


3.关于参数:
-filename: 后可以直接加设备名 如-filename /dev/sdb1 ;也可以加设备的挂载点的文件名,如-filename=/data/testfile。
-directory: 设置filename的路径前缀,入股filename有指定路径,此项可以省略。
-direct: bool类型,如果设置成true (1),表示不使用io buffer,测试绕过机器自带的buffer,测试结果更真实。
-ioengine=sync I/O引擎,现在fio支持19种ioengine。默认值是sync同步阻塞I/O,libaio是Linux的native异步I/O。
  通常有同步和异步两种方式。同步的io一次只能发出一个io请求,等待内核完成才返回,这样对单线程来说iodepth总是小于1的,但多个线程并发可以使iodepth变大。异步方式就是一次提交一批请求,等待一批的完成,减少交互的次数
-iodepth: io队列深度,当ioengine采用异步方式,该参数生效,表示一批提交保持的io单元数。
-rw有5种情况:  
  1.-rw=read
  2.-rw=randread
  3.-rw=write
  4.-rw=randwrite
  5.-rw=randrw -rwmixread=70 //混合模式下读占百分之70
-bs: blocksize 每次读写的大小,默认是4k。
-size: 本次的测试文件的大小,默认以每次4k的io进行测试。
-numjobs: 指定job的克隆数(线程)。
-runtime: 指定在多少秒后停止进程。如果未指定该参数,fio将执行至指定的文件读写完全完成。
-group_reporting: 关于现实结果,汇总每个进程的信息,当同时指定了numjobs了时,输出结果按组显示。
-name: 指定job的名字,在命令行中表示新启动一个job。
-time_based: 如果在runtime指定的时间还没到时文件就被读写完成,将继续重复直到runtime时间结束。

[THE END]

转载于:https://www.cnblogs.com/configure/p/8044433.html

相关文章:

linux下vmware tools工具共享

(1.)现在windows 创建一个文件件linux,添加一个test.txt文件(2).虚拟机—设置(red hat linux挂载起来,或运行,有的时候都处于禁用状态,如果这样就有关闭red hat linux,然后再进行设置)--选项 –文件夹共享—…

在全面部署 IPV6 前,你需要了解都在这儿

IPv6 的发展形势 近日,中办国办印发《推进互联网协议第六版(IPv6)规模部署行动计划》(以下简称《计划》),加快推进基于 IPv6 的下一代互联网规模部署,计划指出到 2018 年末国内 IPv6 活跃用户数…

Qt中文手册 之 QApplication

QApplication管理GUI程序的控制流和主要设置。 QApplication包含由窗口系统和其他来源处理过和发送过的主事件循环。它也处理应用程序的初始化和收尾工作,并提供对话管理。QApplication可以对系统和应用的大部分设置项进行设置。 对于用Qt写的任何一个GUI应用,不管这个应用…

微信真要做操作系统了?

整理 | 仲培艺转载自CSDN(ID:CSDNnews)微信爸爸又带着小程序搞事了,一夕之间,小程序界面“变天”,类操作系统来了。「微信二楼」:欢迎来到小程序的世界下拉即见又一个手机桌面?!1 月…

netsh命令修改ip

当前笔记本的可移动性增强,我们需要在多个环境下接入网络开始工作,在没有路由器自动分配的情况下,就需要每次手动设置IP地址和网关等信息,相当烦琐,通过实践利用netsh命令用快捷方式实现了IP地址的快速切换。A. 基本用…

谷歌Waymo自建车厂,L4级无人车量产指日可待

编译整理 | 一一出品 | AI科技大本营(ID:rgznai100)现在,Waymo 宣称世界上第一家 100% 致力于大规模生产 L4 自动驾驶汽车的工厂,即将诞生。美国当地时间 1 月 22 日,Google 旗下无人驾驶公司 Waymo 宣布&a…

Qt中文手册 之 QTableWidget

简介: QTableWidget是基于QTableView的一个默认的视图模型;它用于显示一个标准的表格。表格中每一个项通过QTableWidgetItem来实现。 头文件:#include <QTableWidget> 继承自:QTableView 成员函数: 1、QTableWidget::QTableWidget(QWidget * parent = 0) 默认构…

vue-cli 使用小技巧

1.关闭烦人的eslint 语法检测&#xff0c;在 config 文件夹下 设置&#xff1a; // Use Eslint Loader? // If true, your code will be linted during bundling and // linting errors and warnings will be shown in the console. useEslint: false, //设置为false 2.引入sc…

架构师成长之路-个人学习经验分享(公司研发峰会演讲ppt)

前天在公司分享了一些学习经验,园子中感兴趣可以看看。建议大家使用pptPlex来看这个片子。 首先从我在成长中不同阶段的工作和体会来谈不同阶段的学习内容谈起&#xff0c;为了做好这些必修课&#xff0c;我会对知识&#xff0b;实践&#xff0b;思考&#xff0b;心态&#xff…

Qt 事件处理和事件过滤器的返回值总结

事件处理&#xff1a; 1、返回 true&#xff1a;告诉Qt已经处理的这个事件 2、返回 false&#xff1a;Qt会把这个事件传递给它的父窗口部件来处理 3、返回 基类的event&#xff08;QEvent*&#xff09;&#xff1a;Qt把这个事件交个它的基类来处理&#xff08;注意与返回 fa…

C++转Python这三年,我都经历了什么?

作者 | asya f&#xff0c;计算机视觉专家&#xff0c;编程语言铁粉。译者 | 安翔&#xff0c;责编 | 沭七转载自 CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;很多人都说用 Python 编程十分简单&#xff0c;即便是 6 岁的小孩也可轻松学会。我自己最开始使用 Python 编…

炎热夏天到底如何让自己更凉快? - 生活至上,美容至尚!

酷暑难耐&#xff0c;晚上睡觉都不能睡好&#xff0c;早上一起来就大汗淋漓&#xff0c;天气越来越热 火辣辣的太阳,让人食欲一落千丈。 如何让食物和调料成为闷热天气解暑良方呢&#xff1f; 根据中医对中药性能的四气五味理论&#xff0c;凡是寒性或凉性的中药&#xff0c;都…

华为又一重拳!全球首款5G基站核心芯片“天罡”发布!

作者 | 孙浩峰来源 | CSDN云计算&#xff08;ID:CSDNcloud&#xff09;1 月 24 日&#xff0c;华为在北京举办 5G 发布会暨 2019 世界移动大会预沟通会&#xff0c;发布了全球首款 5G 基站核心芯片——华为天罡&#xff0c;致力打造极简 5G&#xff0c;助推全球 5G 大规模快速部…

Qt中文手册 之 QTreeWidget

头文件:#include<QTreeWidget> 继承自:QTreeView 属性: 1、columnCount : int 树中有多少列,默认是1; intcolumnCount() constvoidsetColumnCount(int columns) 2、topLevelItemCount : constint 树中有多少顶层项,默认是0; 成员函数 1、QTreeWidget::QTreeW…

12. 17 哈理工网络赛

An Easy Geometry Problem Description Lily is interested in hyperspace recently, and she is trying to solve an easy problem now. Given an n-dimensional hyperspace, assuming each dimension is a1, a2, a3, ..., an. And for each i (1 ≤ i ≤ n), j (i < j ≤ …

微信确认出Bug,目前已全部恢复

1 月 24 日&#xff0c;微信官方发布声明称&#xff0c;今天上午&#xff0c;微信部分功能出现故障&#xff0c;微信用户登录、消息会话、公众号、小程序、外部链接、文件发送等功能均受到不同程度的影响&#xff0c;波及小部分用户。今日 10:30 左右&#xff0c;有网友表示&am…

《xUnit Test Patterns》学习笔记3 - Philosophy of Test Automation

这一章主要讲自动化测试的原则。前面的章节介绍了很多测试的思想&#xff0c;而思想的东西难免有点虚&#xff0c;这一章就是告诉你&#xff0c;遇到了具体的什么问题时&#xff0c;应该怎么办。作者咨询了很多的开发人员和测试人员&#xff0c;同时也和Martin Fowler就自动化测…

js new 运算符到底做了什么?

MDN上是这么介绍new运算符的&#xff1a;new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象类型之一。 这里&#xff0c;我们探究的是new运算符实际上做了什么&#xff1f; var a new A(); 复制代码当这段代码运行的时候&#xff0c;内部实际上执行的是&am…

Qt中文手册 之 QTableWidgetItem

头文件 #include<QTableWidgetItem> 成员函数 1、QTableWidgetItem::QTableWidgetItem(int type = Type) 使用指定item类型type构造。 item的type QTableWidgetItem::Type0默认的类型:窗口部件QTableWidgetItem::UserType1000The minimum value for custom types. Val…

你知道“啥是佩奇”,却不一定了解佩奇排名算法

作者 | 程序员小吴 从初学者的角度学习算法&#xff0c;以动画的形式呈现解题的思路。来源 | 五分钟学算法佩奇排名介绍佩奇排名是根据页面之间的链接结构计算页面的值的一种算法。下面我们通过动画来理解进行计算的具体流程。假设一个正方形表示一个 WEB 页面&#xff0c;一个…

用友发布U8 All-in-One引爆中小企业全面信息化

1月16日&#xff0c;北京经历了2010年第一场大雪和创50年的低温记录后&#xff0c;温度似有回升的感觉。什刹海一座别致建筑二楼的"用友中小企业全面信息化策略暨U8 All-in-One发布会"现场洋溢着融融暖意。用友在这里隆重发布了面向中小企业全面信息化的解决方案--U8…

Qt中文手册 之 QTreeWidgetItem

头文件:#include <QTreeWidgetItem> 成员函数 1、QTreeWidgetItem::QTreeWidgetItem(int type = Type) 使用类型type构造项,默认类型窗口类型 2、QTreeWidgetItem::QTreeWidgetItem(const QStringList & strings, int type = Type) 使用字符串列表strings作为项…

6位技术大咖11月倾心巨献,大数据+安全主题的技术分享合集【阿里云MVP 干货集锦】...

为什么80%的码农都做不了架构师&#xff1f;>>> 摘要&#xff1a; 大家好&#xff0c;阿里云 MVP 11月大数据安全主题分享新鲜出炉&#xff0c;快来一睹为快吧&#xff01;哪些MVP的分享最吸引你&#xff0c;你最想支持哪个MVP&#xff1f; 我们将开启为期一周的最…

linux下jsp环境的搭建

转自http://gehailong.blog.51cto.com/765312/264162作gehailong一 、安装JDK#chmod x jdk-6u13-linux-i586-rpm.bin//给文件加入执行权限#./jdk-6u13-linux-i586-rpm.bin//生成安装文件,运行完此命令后会生成一个jdk-6u13-linux-i586.rpm#rpm -ivh jdk-6u13-linux-i586.rpm//安…

ABP理论学习之通知系统

本篇目录 介绍订阅通知发布通知用户通知管理者实时通知通知存储通知定义介绍 通知&#xff08;Notification&#xff09;用于告知用户系统中的特定事件。ABP提供了基于实时通知基础设施的发布订阅模型&#xff08;pub/sub&#xff09;。 发送模型 给用户发送通知有两种方式&am…

linux驱动:TI+DM8127+GPIO(一)之应用——报警输入输出

一、【GPIO应用】 报警输出1 ALRM_OUT1A、ALRM_OUT1B <-- ALM_OUT1 <-- CVOUT1_YC4 <-- W22 <--VOUT[1]_G_Y_YC[4]/EMAC[1]_MRXD[7]/VIN[1]A_D[9]/PATA_D[1]/GP3[8] /sys/class/gpio/gpio104/value 其中104 32*38 GPIOn_x的编号为32*nx&#xff0c;例如此处用…

Facebook增强版LASER开源:零样本迁移学习,支持93种语言

来源| Facebook AI 研究院译者 | Linstancy责编 | 琥珀出品 | AI 科技大本营&#xff08;ID:rgznai100&#xff09;【导语】为了加速自然语言处理 (NLP) 在更多语言上实现零样本迁移学习 (zero-shot transfer learning)&#xff0c;Facebook 研究者扩展并增强了 LASER (Languag…

Python文本预处理:步骤、使用工具及示例

作者 | Data Monster译者 | Linstancy编辑 | 一一出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;本文将讨论文本预处理的基本步骤&#xff0c;旨在将文本信息从人类语言转换为机器可读格式以便用于后续处理。此外&#xff0c;本文还将进一步讨论文本预处理过程所需要…

读《杜拉拉升职记》有感

读杜拉拉升职记有感1.一定要在核心部门任职&#xff0c;防止被边缘化2.劳心者治人&#xff0c;劳力者治于人干了活还受气怎么办&#xff1f;1.把每一个阶段的主要任务和安排的都做成清晰简明的表格&#xff0c;发给我的老板&#xff0c;告诉他如果有反对意见&#xff0c;在某某…

linux驱动:TI+DM8127+GPIO(二)之驱动

二、【GPIO驱动框架》驱动driver】 重要结构体 gpio_chip&#xff1a;管理一组GPIO gpio_desc&#xff1a;描述每个GPIO gpio_bank&#xff1a;封装了gpio_chip加入GPIO控制的属性 1、驱动注册到platform中 Arch/arm/plat-omap/gpio.c中 static int __init omap_gpio_drv…