iozone的三大神器之一fileop
iozone用了很久,查看源码,发现iozone其实还附带两个工具fileop和pit_server,fileop测试了POSIX常用的函数,pit_server用来测试TCP或UDP服务
今天用了一下fileop测试ceph的读写瓶颈,一下就找到问题了。首先看一下帮助
[root@node2 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^ 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 directories, with X number of
level directories, with X number of files in each
of the level directories.
Example: fileop
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)
[root@node2 iozone]# ./fileop -f -d ./ -e -b -w
. mkdir chdir rmdir create open read write close stat access chmod readdir link unlink delete Total_files
A
B
W
2.我们用verbose打印详细日志查看结果
[root@node2 iozone]# ./fileop -t -f -d ./ Fileop: Working in ., File size is , Output is in Ops/sec. (A=Avg, B=Best, W=Worst)
mkdir: Dirs = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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:三个函数上面。
iozone的三大神器之一fileop的更多相关文章
- Python 三大神器
Python 三大神器 Python 中有很多优秀的包,本文主要讲一下 pip, virtualenv, fabric 1. pip 用来包管理 文档:https://pip.pypa.io/en/l ...
- python三大神器之virtualenv pip, virtualenv, fabric通称为pythoner的三大神器。
python三大神器之virtualenv pip, virtualenv, fabric通称为pythoner的三大神器. virtualenv virtualenv------用来建立一个虚拟 ...
- 洛谷-语文成绩-[有奖]洛谷5月月赛:kkksc03的三大神器
题目背景 Background语文考试结束了,成绩还是一如既往地有问题. 题目描述 Description语文老师总是写错成绩,所以当她修改成绩的时候,总是累得不行.她总是要一遍遍地给某些同学增加分数 ...
- python三大神器===》装饰器
1.认识装饰器 如果你经常看我的博客,你已经学会了python的前两大‘神器’(迭代器,生成器),那么什么是装饰器呢?就如字面意义装饰器是对某个事物(通常指函数)进行装饰,让其在不修改任何内部代码的情 ...
- python三大神器之一fabric使用
fabric 是一个python包 是一个基于ssh的部署工具包 通常用来对网站 微服务等等的批量部署 例如 我有5台线上服务器 可以通过一台对着5台分发,实现自动部署的目的. 简单介绍下 fabri ...
- Python三大神器:装饰器,迭代器,生成器
一.装饰器 由于一个函数能实现一种功能,现在想要在不改变其代码的情况下,让这个函数进化一下,即能保持原来的功能,还能有新的"技能",怎么办? 现已经存在一个自定义的函数func1, ...
- python三大神器
Python 中有很多优秀的包,本文主要讲一下 pip, virtualenv, fabric 1. pip 用来包管理 文档:https://pip.pypa.io/en/latest/instal ...
- python三大神器之装饰器
装饰器的形成过程 假如你要写一个计算函数执行时间的函数,代码如下: import time def func1(): print('in func1') def timer(func): def in ...
- python三大神器之生成器
生成器Generator: 本质:迭代器(所以自带了__iter__方法和__next__方法,不需要我们去实现) 特点:惰性运算,开发者自定义 在python中有三种方法来获取生成器: 1.通过生成 ...
随机推荐
- numpy 性能提升
a = np.array([1,2,3,4,5,1,2,2,2])c = np.unique(a)print(c) 对于很大的稀疏矩阵,我们不能用a[a>0]去取大于0的元素,而应该使用np.w ...
- MFC 的资源文件 就是那个后缀名是 .rc的那个
参考: http://blog.csdn.net/zgrjkflmkyc/article/details/16897881 http://www.oschina.net/question/565065 ...
- Mac下编译android4.0.4遇到的问题
这里总结下自己遇到的问题 jdk6安装,这个去苹果官网有 这里下载10.5的sdk https://github.com/phracker/MacOSX-SDKs/releases
- Spring框架的第四天(整合ssh框架)
## Spring框架的第四天 ## ---------- **课程回顾:Spring框架第三天** 1. AOP注解方式 * 编写切面类(包含通知和切入点) * 开启自动代理 2. JDBC模板技术 ...
- java之连接数据库之JDBC访问数据库的基本操作
1.将数据库的JDBC驱动加载到classpath中,在基于JavaEE的web应用实际开发过程中通常要把目标数据库产品的JDBC驱动复制到WEB—INF/lib下. 2.加载JDBC驱动并将其注册到 ...
- java.lang.ClassNotFoundException: com.sun.xml.ws.spi.ProviderImpl解决办法
问题现象: 这种很可能出现在独立一个简单示例项目中可以用,但是在把webService模块加入系统后,报出这类错误. Exception in thread "main" java ...
- Kubernetes持久化存储1——示例
目录贴:Kubernetes学习系列 一.简介 存储管理与计算管理是两个不同的问题.Persistent Volume子系统,对存储的供应和使用做了抽象,以API形式提供给管理员和用户使用.要完成这一 ...
- 关于 使用python向qq好友发送消息(对爬虫的作用----当程序执行完毕或者报错无限给自己qq发送消息,直到关闭)
以前看到网上一些小程序,在处理完事物后会自动发送qq消息,但是一直搞不懂是说明原理.也在网上找过一些python登陆qq发送消息的文字,但是都太复杂了.今天偶然看到一篇文章,是用python调用win ...
- windows 添加开始菜单
C:\Users\用户名(为你设置的电脑名称)\AppData\Roaming\Microsoft\Windows\Start Menu C:\ProgramData\Microsoft\Window ...
- javax.servlet-api 和 servlet-api 区别
作者:Night Silent链接:https://www.zhihu.com/question/35812310/answer/64578510来源:知乎著作权归作者所有.商业转载请联系作者获得授权 ...