Linux文件系统的几个性能测试软件小结

曾经测试Linux系统下的分布式集群系统的性能,使用了一些测试软件,公司让我给部门同事做一次基础培训,于是翻看以前所写的记录资料挑选了其中几个,所记之处并不完全,只记录使用的功能。

1.Iozone

iozone是一个文件系统的benchmark工具,可以测试不同的操作系统中文件系统的读写性能。

可以测试 Read, write, re-read, re-write, readbackwards, read strided, fread, fwrite, random read, pread, mmap, aio_read,aio_write 等等不同的模式下的硬盘的性能。

测试参数: -i # 用来指定测试内容,我主要用到以下两种:

 0=write/rewrite

 1=read/re-read

例如测试写:-i 0,测试读和写:-i 0 -i 1。

-R 产生execl格式的输出日志

-b 将产生二进制的execl的日志文件名

-s 测试的文件大小

-r 文件块大小

-a 在希望的文件系统上测试,不过只有-a的话会进行全面测试,要花费很长时间,最好用-i指定测试范围。

上图显示了一个iozone的测试ext3本地文件系统结果的一部分,测试文件块的大小为1m,测试文件的大小4G,测试包括文件的关闭时间和flush时间,测试内容包含写/重写、读/重读,测试时产生的二进制日志会保存在/home目录下的test.xls中。

通常情况下,测试的文件大小要求至少是系统cache的两倍以上,这样,测试的结果才是真是可信的。如果小于cache的两倍,文件的读写测试读写的将是cache的速度,测试的结果大打折扣。

2.Mdtest

Mdtest是一个测试文件系统元数据性能的工具。

我们经常用到的一些参数的含义:

-d 测试运行的目录

-i 测试循环的次数

-n 每个进程将要创建/统计/删除的目录和文件数目

-w 文件创建以后写入多少bytes

-p 循环前的时间延迟

-D 只针对目录进行测试

-F 只针对文件进行测试

上图是一个mdtest的测试结果,测试参数为:测试运行的目录为/mnt/aaa,创建/统计/删除的目录和文件数为30000,反复执行3次。

从上图可看到目录创建每秒能够完成的操作数最大为7016.495次,每秒能够完成的操作数平均为6691.628次;文件创建每秒能够完成的操作数最大为63521.371次,每秒能够完成的操作数平均为62325.578次。(因测试为本地文件系统,故数值比较大)

3.Simul

 

Simul是一个并行文件系统的测试工具,它可以同时模拟多个结点和进程来执行文件系统的操作来测试并行文件系统的准确性和一致性。

主要参数含义:

-d 测试将要运行的目录

-f 开始测试时的测试编号(缺省为0)

-l 最后测试时的测试编号(缺省为39)

-i 测试过程中包含的测试编号

-e 测试过程中不包括的测试编号

-n每次测试重复的次数

-N 所有的测试重复的次数

由上图可知,测试目录为/mnt/aaa/,测试执行0到39的所有测试,测试结果为All test passed!

4.Fdtree

Fdtree是一个用来测试文件系统元数据性能的工具,同时也可以用来进行压力测试。

参数含义:

-C 只创建目录树

-D 打开调试

-R 只移除目录树

-l 创建目录的递归等级,默认为4

-d 每个等级所要创建的目录个数

-f 每个目录下所要创建的文件个数

-o 开始测试时的路径名

-s 文件大小(是以block计算的,linux下block大小为4096Bytes),默认为10

fdtree.bash –d 1 –l 2 –f 10000 –s10000

这个例子是一个文件压力的测试,创造的目录结构的等级为2,每个等级下创建1个目录,每个目录下文件的个数为10K,每个文件的大小为10000*4096Bytes=40.96MB,总的数据大小为2*10000*40.96MB=819.2GB。

fdtree.bash -d 10000 -l 100

这个例子是一个目录压力的测试,创造的目录结构的等级为100,每个等级下目录的个数为10K。第一等级下的总目录个数为10K,第二等级下的总目录总个数为10K*10K,第三等级下的总目录个数为10K*10K*10K,依次类推!

上图显示了一个Fdtree的测试结果,目录等级为5,每个等级下创建目录的个数为5,每个目录下文件的个数为5,文件大小为40KB。

 

时间: 2024-07-30 20:53:49

Linux文件系统的几个性能测试软件小结的相关文章

Linux文件系统的桌面应用_unix linux

本文中要介绍一个所谓的"Linux 文件系统的守护神",这是指一个能实时地观察 Linux 文件系统的变化情况的程序模块.能够实时的观察文件系统的变化情况,并做出及时的适当的反应,这对于应用 Linux 做桌面计算机系统来说,是十分的有趣,也是十分的重要的.本文还要介绍 Linux 文件系统的异步 I/O 的扩展.同样,这对于 Linux 系统的桌面应用也是关键的. 1.Linux 文件系统的守护神 传统的 Linux 文件系统呈现给用户程序的界面,确实是十分的干净利落.用户程序可以打

图文详解Linux文件系统的目录结构

1. / 文件系统的入口,最高一级目录: 2. /bin 基础系统所需要的命令位于此目录,是最小系统 所需要的命令,如:ls, cp, mkdir等.这个目录中的文件都是可执行的,一般的用户都可以使用. 3. /boot 包含Linux内核及系统引导程序所需要的文件,比如 vmlinuz initrd.img 文件都位于这个 目录中.在一般情况下,GRUB或LILO系统引导管理器也位于这个目录: 4. /dev 设备文件存储目录, 比如声卡.磁盘... ... 这是一个非常有趣的目录,是Linu

linux中利用UnixBench进行性能测试

 UnixBench是一款开源的测试 unix 系统基本性能的工具,是比较通用的测试VPS性能的工具. UnixBench会执行一系列的测试,包括2D和3D图形系统的性能衡量,测试的结果不仅仅只是CPU,内存,或者磁盘为基准,还取决于硬件,操作系统版本,编译器.   性能测试-unixbench"> UnixBench是一个类unix系(Unix,BSD,Linux)统下的性能测试工具,一个开源工具,被广泛用与测试linux系统主机的性能.Unixbench的主要测试项目有:系统调用.读写

《Linux嵌入式实时应用开发实战(原书第3版)》——3.5 Linux文件系统

3.5 Linux文件系统 Linux文件系统在很多方面与Windows PC或Macintosh(苹果公司生产的)上的文件系统类似.它是一个等级系统,允许你在"/"标识的根目录下创建任何数量的子目录.和Windows中一样,文件名可以很长.尽管如此,Linux和多数类似UNIX的系统一样,文件的扩展名--文件名中"."后面的那部分--不像它们在Windows中那样有意义.例如,Windows中的可执行文件的扩展名为".exe",但是Linux中

Autojump:一个可以在 Linux 文件系统快速导航的高级 cd 命令

对于那些主要通过控制台或终端使用 Linux 命令行来工作的 Linux 用户来说,他们真切地感受到了 Linux 的强大. 然而在 Linux 的分层文件系统中进行导航有时或许是一件头疼的事,尤其是对于那些新手来说. 现在,有一个用 Python 写的名为 autojump 的 Linux 命令行实用程序,它是 Linux 'cd'命令的高级版本. Autojump – Linux 文件系统导航的最快方式 这个应用原本由 Joël Schaerer 编写,现在由 +William Ting 维

十天学Linux内核之第五天---有关Linux文件系统实现的问题

原文:十天学Linux内核之第五天---有关Linux文件系统实现的问题 有时间睡懒觉了,却还是五点多醒了,不过一直躺倒九点多才算起来,昨晚一直在弄飞凌的嵌入式开发板,有些问题没解决,自己电脑系统的问题,虽然Win10发布了,,但我还是好喜欢XP呀,好想回家用用家里的XP来玩玩这块板子,不知不觉也第五天了,感觉代码都有些模糊,连自己都不是很清楚了,担心现在分享起来比较困惑,各路大神多加批评呀,觉得渣渣的尽量指正出来,拉出来批评,今天还是来总结一下有关Linux文件系统的问题吧~ Linux的使用

存储那些事儿(二): 下一代Linux文件系统BTRFS简介

    BTRFS,通常念成 Butter FS,Better FS 或B-tree FS.下一代的Linux文件系统.     它基于写时拷贝(copy-on-write),支持高效的snapshot和clone.它使用b-tree作为存储的数据结构.在BTRFS项目主页上对自己是这么描述的:"一个新的针对Linux的写时复制文件系统,致力于实施高级的功能,同时关注容错.修复和管理方便性."    它有哪些高级功能呢?下面的feature来自BTRFS的项目主页:http://btr

kernel学习:分层方法讨论linux文件系统

文件系统是对一个存储设备上的数据和元数据进行组织的机制. Linux 文件系统接口实现为分层的体系结构,从而将用户接口层.文件系统实现和操作存储设备的驱动程序分隔开.另一种看待文件系统的方式是把它看作一个协议.网络协议(比如 IP)规定了互联网上传输的数据流的意义,同样,文件系统会给出特定存储媒体上数据的意义. Linux 文件系统体系结构是一个对复杂系统进行抽象化的有趣例子.通过使用一组通用的 API 函数,Linux 可以在许多种存储设备上支持许多种文件系统.例如,read 函数调用可以从指

Linux入门基础(二) Linux文件系统基本结构

Linux文件系统为一个倒置的树状结构,所有文件或文件夹均包含在一个根目录"/"中. Linux系统严格区分大小写,名称最多255个字符 除正斜线外都是有效字符 每一个Shell都有一个当前的工作目录,通过命令pwd(print work directory)可以查看当前工作目录 touch命令:创建一个空白文件或者更新已有文件的(最后一次修改)时间 以.开头的文件为隐藏文件,隐藏文件绝大部分是配置文件 命令"ls"可以列出当前目录信息,支持以下参数: ls -a