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的更多相关文章

  1. Python 三大神器

    Python 三大神器 Python 中有很多优秀的包,本文主要讲一下 pip, virtualenv, fabric 1. pip 用来包管理 文档:https://pip.pypa.io/en/l ...

  2. python三大神器之virtualenv pip, virtualenv, fabric通称为pythoner的三大神器。

    python三大神器之virtualenv   pip, virtualenv, fabric通称为pythoner的三大神器. virtualenv virtualenv------用来建立一个虚拟 ...

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

    题目背景 Background语文考试结束了,成绩还是一如既往地有问题. 题目描述 Description语文老师总是写错成绩,所以当她修改成绩的时候,总是累得不行.她总是要一遍遍地给某些同学增加分数 ...

  4. python三大神器===》装饰器

    1.认识装饰器 如果你经常看我的博客,你已经学会了python的前两大‘神器’(迭代器,生成器),那么什么是装饰器呢?就如字面意义装饰器是对某个事物(通常指函数)进行装饰,让其在不修改任何内部代码的情 ...

  5. python三大神器之一fabric使用

    fabric 是一个python包 是一个基于ssh的部署工具包 通常用来对网站 微服务等等的批量部署 例如 我有5台线上服务器 可以通过一台对着5台分发,实现自动部署的目的. 简单介绍下 fabri ...

  6. Python三大神器:装饰器,迭代器,生成器

    一.装饰器 由于一个函数能实现一种功能,现在想要在不改变其代码的情况下,让这个函数进化一下,即能保持原来的功能,还能有新的"技能",怎么办? 现已经存在一个自定义的函数func1, ...

  7. python三大神器

    Python 中有很多优秀的包,本文主要讲一下 pip, virtualenv, fabric 1. pip 用来包管理 文档:https://pip.pypa.io/en/latest/instal ...

  8. python三大神器之装饰器

    装饰器的形成过程 假如你要写一个计算函数执行时间的函数,代码如下: import time def func1(): print('in func1') def timer(func): def in ...

  9. python三大神器之生成器

    生成器Generator: 本质:迭代器(所以自带了__iter__方法和__next__方法,不需要我们去实现) 特点:惰性运算,开发者自定义 在python中有三种方法来获取生成器: 1.通过生成 ...

随机推荐

  1. [OpenCV]直线拟合

    OpenCV实现了直线的拟合. CV_IMPL void cvFitLine( const CvArr* array, int dist, double param, double reps, dou ...

  2. Python之__slots__ &运算符重载反向运算

    1.运算符重载之反向运算 class A: def __init__(self,x): self.x = x def __add__(self, other): try: x = other.x re ...

  3. 使用fastdfs搭建文件服务器

    一:安装tracker 1. 拷贝安装目录下各个.gz文件到/usr/local/src下,解压各个install lib,例如tar zxvf xxx.tar.gz 2. 先安装libfastcom ...

  4. pjax转发

    pjax几大特点: 1.异步(ajax) 2.地址栏改变路径 3.实现前进和后退back和forword 如何解决:地址变了之后,万一F5刷新的问题,主要是通过后台判断是否为pjax请求,是的话做个标 ...

  5. L2-026. 小字辈

    本题给定一个庞大家族的家谱,要请你给出最小一辈的名单. 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) —— 简单起见,我们把家族成员从 1 到 N 编号.随后第二行 ...

  6. Win10问题

    WIN10去除我的电脑上面的6个文件夹 把下面代码复制,保存到.reg中,然后执行即可(修改注册表文件.reg) Windows Registry Editor Version 5.00 ;如需还原去 ...

  7. Docker Compose 一键部署多节点爬虫程序

    Docker Compose 一键部署多节点爬虫程序 目录结构 [root@localhost ~]# tree compose_crawler/ compose_crawler/ ├── cento ...

  8. Uncaught SyntaxError: Unexpected token <解决方法

    最近剥离基础框架的公共部分,早上有个页面部分流程未加载出来,报了Uncaught SyntaxError: Unexpected token <,网上搜了下 错误原因:js脚本中非正常引用外部的 ...

  9. 2018-2019-1 20189206 《Linux内核原理与分析》第九周作业

    #linux内核分析学习笔记 --第八章 进程的切换和系统的一般执行过程 学习目标:重点关注进程切换的过程,进程调度的时机,操作系统的基本构成以及一般的执行过程. 进程调度的时机 因为进程的调度只发生 ...

  10. 剑指offer(26)二叉搜索树与双向链表

    题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. 题目分析 要生成排序的双向列表,那么只能是中序遍历,因为中序遍历才能从小到 ...