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.通过生成 ...
随机推荐
- 查看文件内容 cat , tac
cat 文件名字tac 文件名字 -- 倒序查看文件内容
- Centos下,Docker部署Yapi接口管理平台(详细得令人发指)
接口测试的工具很多,公司引进了接口管理平台Yapi,自己尝试直接搭建,从安装Nodejs到配置MongoDB数据库,再到安装yapi的时候,遇到浏览器打开本地服务器Ip地址后,没有显示部署内容...没 ...
- python相关学习文档收集
bs4中文文档: 用于网页爬虫 https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/ GitLab-CI 从安装到差点放弃 https://segm ...
- 2015 北京网络赛 E Border Length hihoCoder 1231 树状数组 (2015-11-05 09:30)
#1231 : Border Length 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 Garlic-Counting Chicken is a special spe ...
- Axis2的简单配置(完整版)
Axis2的简单配置(终结版) 1.axis2 下载地址 axis2-1.6.2-bin.zip http://mirror.esocc.com/apache//axis/axis2/java/cor ...
- Numpy 数据类型和基本操作
Numpy 数据类型 bool 用一位存储的布尔类型(值为TRUE或FALSE) inti 由所在平台决定其精度的整数(一般为int32或int64) int8 整数,范围为128至127 int1 ...
- 复习-css控制文本字体属性
css控制文本字体属性 font-family:字体系列,如”serif“”sans-serif“ font-size:尺寸 font-style:字体样式,如“normal,italic(斜体).o ...
- Spring笔记 #02# 利用切面和注解校验方法参数
例子还是之前的例子.仍然是对mage进行法术攻击时的咒语进行校验,不过略微提高了扩展性. 应用示例 1.在.properties文件中定义参数格式(正则): sp1=^\\D*hello\\D*$ s ...
- D4 树的直径、重心以及基环树
第一题第二题鉴上我前几篇博客poj1985 poj1849:https://www.cnblogs.com/Tyouchie/p/10384379.html 第三题:数的重心:poj1655 来自sj ...
- [c/c++] programming之路(19)、数组指针
一.指针运算 #include<stdio.h> #include<stdlib.h> void main0(){ ; int *p=&a; printf());//变 ...