iozone的三大神器之一fileop

iozone用了很久,查看源码,发现iozone其实还附带两个工具fileop和pit_server,fileop测试了POSIX常用的函数,pit_server用来测试TCP或UDP服务

今天用了一下fileop测试ceph的读写瓶颈,一下就找到问题了。首先看一下帮助

[[email protected] iozone]# ./fileop -h

     --------------------------------------
     |              Fileop                |
     |         $Revision: 1.61 $          |
     |                                    |
     |                by                  |
     |                                    |
     |             Don Capps              |
     --------------------------------------

     fileop [-f X ]|[-l # -u #] [-s Y] [-e] [-b] [-w] [-d <dir>] [-t] [-v] [-h]

     -f #      Force factor. X^3 files will be created and removed.
     -l #      Lower limit on the value of the Force factor.
     -u #      Upper limit on the value of the Force factor.
     -s #      Optional. Sets filesize for the create/write. May use suffix ‘K‘ or ‘M‘.
     -e        Excel importable format.
     -b        Output best case results.
     -i #      Increment force factor by this increment.
     -w        Output worst case results.
     -d <dir>  Specify starting directory.
     -U <dir>  Mount point to remount between tests.
     -t        Verbose output option.
     -v        Version information.
     -h        Help text.

     The structure of the file tree is:
     X number of Level 1 directories, with X number of
     level 2 directories, with X number of files in each
     of the level 2 directories.

     Example:  fileop 2

             dir_1                        dir_2
            /     \                      /     \
      sdir_1       sdir_2          sdir_1       sdir_2
      /     \     /     \          /     \      /     \
   file_1 file_2 file_1 file_2   file_1 file_2 file_1 file_2

   Each file will be created, and then Y bytes is written to the file.

例如:1.我们测试一个文件读写最好最坏和平均的结果。(单位:次/s)

[[email protected] iozone]# ./fileop -f 1 -d ./ -e  -b -w
 .       mkdir   chdir   rmdir  create    open    read   write   close    stat  access   chmod readdir  link    unlink  delete  Total_files
A    1     447  103991     257     370   83886   66576   22795   33288  167772  123362   45590     527     931    1004    1033          1
B    1     592  262144     855     370   83886   66576   22795   33288  167772  123362   45590     527     931    1004    1033          1
W    1     361   47663     183     370   83886   66576   22795   33288  167772  123362   45590     527     931    1004    1033          1

2.我们用verbose打印详细日志查看结果

[[email protected] iozone]# ./fileop -t -f 1 -d ./ 

Fileop:  Working in ., File size is 1,  Output is in Ops/sec. (A=Avg, B=Best, W=Worst)
mkdir:   Dirs =         3 Total Time =  0.006633043 seconds
         Avg mkdir(s)/sec     =       452.28 ( 0.002211014 seconds/op)
         Best mkdir(s)/sec    =       529.38 ( 0.001888990 seconds/op)
         Worst mkdir(s)/sec   =       411.17 ( 0.002432108 seconds/op)

chdir:   Dirs =         3 Total Time =  0.000052691 seconds
         Avg chdir(s)/sec     =     56936.25 ( 0.000017564 seconds/op)
         Best chdir(s)/sec    =    113359.57 ( 0.000008821 seconds/op)
         Worst chdir(s)/sec   =     28532.68 ( 0.000035048 seconds/op)

rmdir:   Dirs =         3 Total Time =  0.011839867 seconds
         Avg rmdir(s)/sec     =       253.38 ( 0.003946622 seconds/op)
         Best rmdir(s)/sec    =       909.24 ( 0.001099825 seconds/op)
         Worst rmdir(s)/sec   =       165.32 ( 0.006048918 seconds/op)

create:  Files =         1 Total Time =  0.002378941 seconds
         Avg create(s)/sec    =       420.36 ( 0.002378941 seconds/op)
         Best create(s)/sec   =       420.36 ( 0.002378941 seconds/op)
         Worst create(s)/sec  =       420.36 ( 0.002378941 seconds/op)

write:   Files =         1 Total Time =  0.000038147 seconds
         Avg write(s)/sec     =     26214.40 ( 0.000038147 seconds/op)
         Best write(s)/sec    =     26214.40 ( 0.000038147 seconds/op)
         Worst write(s)/sec   =     26214.40 ( 0.000038147 seconds/op)

close:   Files =         1 Total Time =  0.000033855 seconds
         Avg close(s)/sec     =     29537.35 ( 0.000033855 seconds/op)
         Best close(s)/sec    =     29537.35 ( 0.000033855 seconds/op)
         Worst close(s)/sec   =     29537.35 ( 0.000033855 seconds/op)

stat:    Files =         1 Total Time =  0.000011206 seconds
         Avg stat(s)/sec      =     89240.51 ( 0.000011206 seconds/op)
         Best stat(s)/sec     =     89240.51 ( 0.000011206 seconds/op)
         Worst stat(s)/sec    =     89240.51 ( 0.000011206 seconds/op)

open:    Files =         1 Total Time =  0.000014067 seconds
         Avg open(s)/sec      =     71089.90 ( 0.000014067 seconds/op)
         Best open(s)/sec     =     71089.90 ( 0.000014067 seconds/op)
         Worst open(s)/sec    =     71089.90 ( 0.000014067 seconds/op)

read:    Files =         1 Total Time =  0.000015020 seconds
         Avg read(s)/sec      =     66576.25 ( 0.000015020 seconds/op)
         Best read(s)/sec     =     66576.25 ( 0.000015020 seconds/op)
         Worst read(s)/sec    =     66576.25 ( 0.000015020 seconds/op)

access:  Files =         1 Total Time =  0.000008821 seconds
         Avg access(s)/sec    =    113359.57 ( 0.000008821 seconds/op)
         Best access(s)/sec   =    113359.57 ( 0.000008821 seconds/op)
         Worst access(s)/sec  =    113359.57 ( 0.000008821 seconds/op)

chmod:   Files =         1 Total Time =  0.000021935 seconds
         Avg chmod(s)/sec     =     45590.26 ( 0.000021935 seconds/op)
         Best chmod(s)/sec    =     45590.26 ( 0.000021935 seconds/op)
         Worst chmod(s)/sec   =     45590.26 ( 0.000021935 seconds/op)

readdir: Files =         1 Total Time =  0.001602888 seconds
         Avg readdir(s)/sec   =       623.87 ( 0.001602888 seconds/op)
         Best readdir(s)/sec  =       623.87 ( 0.001602888 seconds/op)
         Worst readdir(s)/sec =       623.87 ( 0.001602888 seconds/op)

link:    Files =         1 Total Time =  0.000864983 seconds
         Avg link(s)/sec      =      1156.09 ( 0.000864983 seconds/op)
         Best link(s)/sec     =      1156.09 ( 0.000864983 seconds/op)
         Worst link(s)/sec    =      1156.09 ( 0.000864983 seconds/op)

unlink:  Files =         1 Total Time =  0.000801086 seconds
         Avg unlink(s)/sec    =      1248.30 ( 0.000801086 seconds/op)
         Best unlink(s)/sec   =      1248.30 ( 0.000801086 seconds/op)
         Worst unlink(s)/sec  =      1248.30 ( 0.000801086 seconds/op)

delete:  Files =         1 Total Time =  0.000800133 seconds
         Avg delete(s)/sec    =      1249.79 ( 0.000800133 seconds/op)
         Best delete(s)/sec   =      1249.79 ( 0.000800133 seconds/op)
         Worst delete(s)/sec  =      1249.79 ( 0.000800133 seconds/op)

从结果中,我们可以得出结论,ceph在FS挂载的情况下,其实性能瓶颈主要是在readdir:rmdir:mkdir:三个函数上面。

时间: 2024-08-04 23:52:58

iozone的三大神器之一fileop的相关文章

洛谷-语文成绩-[有奖]洛谷5月月赛:kkksc03的三大神器

题目背景 Background语文考试结束了,成绩还是一如既往地有问题. 题目描述 Description语文老师总是写错成绩,所以当她修改成绩的时候,总是累得不行.她总是要一遍遍地给某些同学增加分数,又要注意最低分是多少.你能帮帮她吗? //这又跟神器有什么关系呢?神说:呵呵. //因为n和p的范围比较大 建议C++选手使用scanf读入.//同时建议写读入优化....//最后一个点,亲测pas读入800+ms,c/C++的scanf 1200+ms,所以这个点的时限改为2s 输入输出格式 I

Python——pip, virtualenv, fabric三大神器

https://www.zhihu.com/question/19717006 http://www.openfoundry.org/tw/tech-column/8536-introduction-of-python-extension-management-tools http://qicheng0211.blog.51cto.com/3958621/1561685

python三大神器===》生成器

1. 认识生成器 利用迭代器,我们可以在每次迭代获取数据(通过next()方法)时按照特定的规律进行生成.但是我们在实现一个迭代器时,关于当前迭代到的状态需要我们自己记录,进而才能根据当前状态生成下一个数据.为了达到记录当前状态,并配合next()函数进行迭代使用,我们可以采用更简便的语法,即生成器(generator).生成器是一类特殊的迭代器. 2.如何创建一个生成器: 生成器时一种特殊的迭代器,我们既然知道迭代器的创建方法,那么创建一个生成器也不是一件难事,首先我们先认识第一种生成器的创建

Ancoda 下的python多版本共存

Ancoda 下的python多版本共存 virtualenv python 多版本共存 Pip, Virtualenv 和Fabric 被称为python 的三大神器,Pip 是包管理工具,Virtualenv 是创建独立的python环境包的工具,Fabric 是和服务器管理和应用发布相关的工具(个人没有用过...),让我惊奇的是,这三个没有一个是和敲代码有关系的.有些东西在开发中真的是刚需,想绕都绕不开,今天我们来聊聊python的多版本共存的问题. 笔者在电脑上安装了Virtualenv

Google Chrome Plus&mdash;&mdash;绿色便携多功能谷歌浏览器

一直就很喜欢用谷歌和火狐,不过浏览器默认功能是很少的,界面也不怎么好看,所以这个时候就需要浏览器三大神器:扩展,脚本,样式.Google Chrome Plus,我自己这么叫他,其实就是一个绿色便携多功能谷歌浏览器,是我的第一个定制版,是用shuax的补丁制作而成的,大家可以很方便的放进U盘使用,下面就详细的介绍一下我添加的东西. (不要被这么多的内容吓着,我只是写的比较详细罢了,并不复杂,看下去--) 分别从扩展,脚本,样式三个方面来介绍: [扩展]: 谷歌浏览器是一个多线程浏览器,每个扩展,

Python 学习资源汇总

推荐书籍: Python核心编程(第二版)(强烈推荐,建议有一定基础的看,或者看完简明Python教程再看) Python 基础教程 第二版 (入门,没有核心编程好,但也不错) 编写高质量代码:改善Python程序的91个建议 (进阶,有一定基础再看) Python Cookbook   一本 Python 3 书籍,非常多的代码示例,适合进一步提升看,有能力的同学还可以看英文版的. Python Web 开发实战 (董伟明 著)Python Web 开发 豆瓣 Python 开发者写的书籍,内

Django学习笔记 Day One

Time:2016年01月01日21:38:55 Description: 从今天开始我开始写我的Django学习笔记,因为网络上太多太杂乱的文章,不成系统,还有就是太多的培训机构讲述的东西过于简单,没有深入讲解Django,算是自己的一个小笔记吧,主要参考的是Django1.8的官方文档,地址:www.djangoproject.com,一家之言,大神勿喷! Content: Day One. First exploration of django? 我们在Web开发过程中,常常会遇到编写重复

virtualenv -- python虚拟环境

有人说:virtualenv.fabric 和 pip 是 pythoneer 的三大神器. 不管认不认同,至少要先认识一下,pip现在倒是经常用到,virtualenv第一次听说,不过,总得尝试一下吧. 一.安装 pip install virtualenv 因为我已经安装了pip,那么就直接用pip来安装了,简单方便. 其它的安装方式请参考官方网站:http://www.virtualenv.org/en/latest/index.html 二.创建虚拟环境 [email protected

设置python开发环境-ywreport

不同的python项目需要不同的依赖库 建议每个项目都使用自己的虚拟环境.参考python三大神器: http://www.ziqiangxuetang.com/python/pip-virtualenv-fabric.html 我一般采用项目独立使用环境的方式 下面以项目ywreport为例子: [email protected]:~$ mkvirtualenv ywreport (ywreport) [email protected]:~$ workon ywreport #默认安装的pip