fio

深入理解 Linux磁盘顺序写、随机写

偶尔善良 提交于 2020-04-14 17:50:38
【推荐阅读】微服务还能火多久?>>> Linux 磁盘管理好坏直接关系到整个系统的性能问题。Linux磁盘管理常用三个 命令 为df、du和fdisk。 一、前言 ● 随机写会导致磁头不停地换道,造成效率的极大降低;顺序写磁头几乎不用换道,或者换道的时间很短 ● 本文来讨论一下两者具体的差别以及相应的内核调用 二、环境准备 组件 版本 OS Ubuntu 16.04.4 LTS fio 2.2.10 三、fio介绍 通过fio测试,能够反映在读写中的状态,我们需要重点关注fio的输出报告中的几个关键指标: slat :是指从 I/O 提交到实际执行 I/O 的时长(Submission latency) clat :是指从 I/O 提交到 I/O 完成的时长(Completion latency) lat :指的是从 fio 创建 I/O 到 I/O 完成的总时长 bw :吞吐量 iops :每秒 I/O 的次数 四、同步写测试 (1)同步随机写 主要采用fio作为测试工具,为了能够看到系统调用,使用strace工具, 命令 看起来是这样: 先来测试一个随机写 strace -f -tt -o /tmp/randwrite.log -D fio -name=randwrite -rw=randwrite \ -direct=1 -bs=4k -size=1G -numjobs=1

fio性能测试工具新添图形前端gfio(centos)

好久不见. 提交于 2020-02-28 17:12:53
参考文章 http://blog.yufeng.info/archives/2721 背景 centos 7,已gui的方式安装 安装 wget http://brick.kernel.dk/snaps/fio-3.10.tar.gz $ cd fio-3.10 $ ./configure --enable-gfio ... gtk 2.18 or higher yes ... $ make fio $ make gfio $ ./fio -S fio: server listening on 0.0.0.0,8765 使用 cd fio-3.10 ./fio -S 另外在启动一窗口 cd fio-3.10 ./gfio 窗口如下: 点击gfio图形界面file——open——找到/fio-3.10/examples/ fio_test.fio——open该文件,页面如下; 点击图形界面左下角connect按钮,然后点send,页面如下: 点击’start job’开始执行脚本 常见问题: No package 'gtk+-2.0' found yum -y install libgnomeui-devel engine libaio not loadable yum -y install libaio-devel cd fio-3.10 make clean .

机房测试9.15

ぐ巨炮叔叔 提交于 2020-02-15 06:03:47
题解之前 愉悦的 要火 十人ACM大赛即将开始! 飞扬的小鸟 以为是NOIP2014 发现实则不然 容易发现,从(0,0) 走到(x,y) 的点击次数是(x+y)/2,要点击次数最少,则到达终点时y 最小,所以只需维护小鸟能到达哪些点。 可以发现,如果能到达(x0,y1) 和(x0,y2)(不妨设y1 < y2),那么一定能到达(x0,y1),(x0,y1+2)......(x0,y2-2),(x0,y2),因为每多点一次y 就增大2,那么对于每个x,小鸟能到达的位置都是一个区间内y 的奇偶性相同的所有位置,所以可以递推维护在每个障碍处y 的取值范围[li,ri],如果发现某时y 没有合法取值则输出无解。但需特判当q-p = 2 时(此时p = 􀀀1,q = 1)一定无解,其余情况可以不用考虑边界。时间复杂度O(n) #define FN "bird" #include <cstdio> #include <cctype> typedef bool bnt; typedef void vnt; struct buf { operator int() { register int c = getchar(), x = 0; register bnt s = false; for (;!isdigit(c); c = getchar()) s |= c == '-'; for (;

FIO性能测试数据画图

大城市里の小女人 提交于 2020-01-21 22:25:18
一图胜万言。在测试性能的时候,尤其如此。对于我们常常用到的fio 测试的结果,怎么样能快速生成图表? 确保FIO命令能够记录性能数据 参考下面的命令: fio -filename=/dev/nvme2n1 -thread -numjobs=1 -iodepth=64 --bs=4K -direct=1 --rw=write -ioengine=libaio --group_reporting -name=perf --output-format=normal --log_avg_msec=10000 --write_bw_log=1M-write.results --write_iops_log=1M-write.results --write_lat_log=1M-write.results --runtime=21 --time_based 上面的命令执行完之后,大概会生成如下的几个性能数据文件: [root@szw] nvme_ssd_performance_test]# ls -alrt total 40 drwxr-xr-x 6 root root 4096 Jan 21 07:57 .. -rw-r--r-- 1 root root 305 Jan 21 08:20 draw_result.py -rw------- 1 root root 2999 Jan 21 14

磁盘测试工具FIO工具安装和使用方法

旧城冷巷雨未停 提交于 2019-12-10 03:30:05
一、FIO工具安装: 1、查看fio是否安装 [root@localhost /]#rpm –qa|grep fio 2、源码安装(推荐) 官网地址: http://freecode.com/projects/fio/ 源码安装包: http://brick.kernel.dk/snaps/fio-2.1.10.tar.gz 安装 [root@lh fio-2.1.10]# ./configure [root@lh fio-2.1.10]# make [root@lh fio-2.1.10]# make install[root@lh fio-2.1.10]# fio --help 3、如果未成功就用rpm安装 获取fio的rpm安装包然后 [root@localhost tmp]#rpm -ivh fio-2.0.9-1.el6.rf.x86_64.rpm warning: fio-2.0.9-1.el6.rf.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 6b8d79e6: NOKEY Preparing... ########################################### [100%] 1:fio ########################################### [100%] 4

Ceph文件系统FS性能测试

ぃ、小莉子 提交于 2019-12-09 10:10:31
Ceph 文件系统 FS 性能测试 测试背景 系统环境: 测试工具: fio 测试工具 工具版本: fio-2.2.8 测试目录: /data/mycephfs 磁盘:单块盘做的 Raid0 , ext4 文件系统 网络: 3 块千兆网卡绑定在一起 Ceph 环境: Ceph 版本 双副本机制, ceph 集群共两台机器,每台机器上有四个 osd ,每个 osd 对应一块物理盘: # ceph osd tree ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY -1 28.34558 root default -2 14.17279 host bdc217 0 3.54320 osd.0 up 1.00000 1.00000 1 3.54320 osd.1 up 1.00000 1.00000 2 3.54320 osd.2 up 1.00000 1.00000 3 3.54320 osd.3 up 1.00000 1.00000 -3 14.17279 host bdc218 4 3.54320 osd.4 up 1.00000 1.00000 5 3.54320 osd.5 up 1.00000 1.00000 6 3.54320 osd.6 up 1.00000 1.00000 7 3.54320 osd.7 up 1

fio

∥☆過路亽.° 提交于 2019-12-06 16:42:59
转 https://segmentfault.com/a/1190000003880571 命令方式:fio --ioengine=libaio --readwrite=write --filename=/dev/nvme0n1 --bs=64k --iodepth=16 --numjobs=1 --runtime=30s --time_based --direct=1 --name=mytest --group_reporting 来源: https://www.cnblogs.com/xia-dong/p/11994954.html

磁盘测试工具FIO

假装没事ソ 提交于 2019-12-05 18:17:07
目前主流的第三方IO测试工具有fio、iometer和Orion,这三种工具各有千秋。 fio在Linux系统下使用比较方便,iometer在window系统下使用比较方便,Orion是oracle的IO测试软件,可在没有安装oracle数据库的情况下模拟oracle数据库场景的读写。 如下是在Linux系统上采用fio工具来对SAN存储进行的IO测试。 1、安装fio 在fio官网下载fio-2.1.10.tar文件,解压后./configure、make、make install之后就可以使用fio了。 2、fio参数解释 FIO工具使用方法: 参数说明: 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方式

磁盘性能指标--IOPS与吞吐量

若如初见. 提交于 2019-12-05 18:16:48
磁盘性能指标--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

How to make FIO replay a trace with multiple thread

匿名 (未验证) 提交于 2019-12-03 01:45:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I'm trying to use fio to replay some block traces. The job file I wrote looks like: [global] name=replay filename=/dev/md0 direct=1 ioengine=psync [replay] read_iolog=iolog.fio replay_no_stall=0 write_lat_log=replay_metrics numjobs=1 The key here is I want to use "psync" as the ioengine, and replay the iolog. However, with psync, fio seems to ignore "replay_no_stall" option, which ignore the timestamp in the iolog. And by setting numjobs to be 4, fio seems to make 4 copies of the same workload, instead of using 4 threads to split the