测试目的

测试文件系统性能测试主要测试:读性能 写性能

文章目录

  • 测试目的
  • 测试工具
    • IOZONE
      • 什么是IOZONE
        • IOZONE与dd测试的区别
      • IOZONE测试内容
        • 测试注意事项
      • 安装IOZONE
      • IOZONE测试模式
        • 自动模式
          • 关键指标
        • 输出测试结果
        • 测试文件大小配置
        • 指定测试内容
        • NFS的测试
        • 测试案例
        • 对gluster的测试
          • 写文件测试
          • 读文件测试
          • 参数说明
      • 常用参数说明
      • 测试的定义

测试工具

IOZONE

什么是IOZONE

iozone是文件系统的测试工具
比dd更强大
是一个第三方的应用软件

IOZONE与dd测试的区别

dd除了测试文件读写还会对块进行测试
iozone是对文件的测试

IOZONE测试内容

read:读
write:写
re-read:重读
re-write:重写
read backwards 反向读 从最后往回读
read strided 跳跃读 从前面往后面读
fread 文件读
fwrite文件写
random read随机读
pread 预读
aio_read 异步读
aio_write 异步写

测试注意事项

测试读取的文件大小一定要大于内存(最好是大于内存2倍)

安装IOZONE

使用wget下载iozone
wget http://www.iozone.org/src/current/iozone3_487.tar
安装

    # tar -xvf iozone3_487.tar # cd iozone3_487/src/current(# getconf LONG_BIT 查看本机是32或64位)# make linux-AMD64(直接执行make 有帮助选项)

IOZONE测试模式

自动模式

块大小从4k到16M,测试文件大小从64k到623M

iozone -a

-a会将全部模式都测试一遍

显示结果:

第一个是块大小,第二个测试了多少块
第三个是之后是速度

关键指标

reclen测试多少块文件
write 顺序写速度
read 顺序读速度

输出测试结果

iozone -Rab output.xls

重点看第一个多进程Children子进程速度
Parent父进程速度

测试文件大小配置

测试的文件大小为内存的两倍
比如内存1g测试文件大小为2g

iozone -Ra -g 2g

指定测试内容

-Ra是输出到屏幕上 -Rb输出到文件
-g 测试大小为2g -i 0 测试写 -i 1是测试读

iozone -Ra -g 2g -i 0 -i 1

NFS的测试

测试网络中的情况 加上-c 这样才测试时会自动执行close()函数,防止文件操作符达到系统上限

iozone -Rac

测试案例

-a自动测试 -n 最小大小512m -g 最大大小4g -i 测试 写 0 测试 读 1 测试跳读 5 -f 测试文件/mnt/iozone -Rb 输出到文件./iozone/xls

 ./iozone -a -n 512m -g 4g -i 0 -i 1 -i 5 -f /mnt/iozone -Rb ./iozone.xls

对gluster的测试

写文件测试
iozone -i 0 -s 8G -r 128k -+n -f /mnt/mm/iozonetest -w -Recb /tmp/log.xls |tee -a /mnt/mm/iozone.log
读文件测试

每次读之前需要清除内存:

echo 3 >/proc/sys/vm/drop_caches
 iozone -i 1 -s 4G -r 128k -+n -f /mnt/mm/iozonetest -w -Recb /tmp/log.xls |tee -a  /mnt/mm/iozone.log
参数说明

-i 0写模式 1读模式
-s 8G测试文件大小8G
-r 文件快大小128k
-w 写完文件不擅长
-Recb 产生execl格式的输出日志,包括flushing时间,将产生二进制的execl的日志文件名,测试包括文件的关闭时间
-+n:不测试重读重写
-f 指定测试文件名
|tee -a /mnt/mm/iozone.log测试结果追加到iozone.log
后面
tee -a读取标准输入的数据

常用参数说明

-a 全面自动模式
-i N 用来选择测试项
可以使用-i 0 -i 1 -i 2
0=write/rewrite
1=read/re-read
2=random-read/write:必须测试的文件需要从在
3=read-backward
4=Re-write-record
5=stride-read
6=fwrite/re-fwrite
7=fread/Re-fread
8=random mix
9=pwrite/Re-pwrite
10=pread/Re-pread
11=pwritev/Re-pwritev 预写入与9的差别:linux用函数的方式进行读写 用文件结构方式写入
12=preadv/Re-preadv

-r block size 指定一次写入/读出的块大小
-s file size 指定测试文件的大小
-f filename 指定测试文件的名字,完成后会自动删除(这个文件必须指定你要测试的那个硬盘中)
-F file1 file2… 指定多线程下测试的文件名
如果-f设置了名字,多线程会自动生成文件名
批量测试项:
-g -n 指定测试文件大小范围
最大测试文件为4G,可以这样写 -g 4G
最小测试文件为4M -n 4M
-y -q 指定测试块的大小范围
-w 测试的填写的输出文件不删除
输出:
下面是几个日志记录的参数.好像要输出成图象进行分析,需要指定-a的测试才能输出
-R 产生Excel到标准输出
-b 指定输出到指定文件上. 比如 -Rb ttt.xls

测试的定义

Write 写入性能
Write的性能通常会比Re-write的性能低
Re-write: 测试向一个已存在的文件写入的性能
当一个已存在的文件被写入时,所需工作量较少,因为此时元数据已经存在

Read读取性能
Re-read 测试读一个最近读过的文件的性能
Re-Read性能会高些,因为操作系统通常会缓存最近读过的文件数据

Random Read: 测试读一个文件中的随机偏移量的性能
Random Write: 测试写一个文件中的随机偏移量的性能
Random Mix: 测试读写一个文件中的随机偏移量的性能
Backwards Read: 测试使用倒序读一个文件的性能
Record Rewrite: 测试写与覆盖写一个文件中的特定块的性能
Strided Read: 测试跳跃读一个文件的性能

Fwrite: 测试调用库函数fwrite()来写文件的性能
Frewrite:测试调用库函数fwrite()来写文件的性能
Fread:测试调用库函数fread()来读文件的性能
Freread: 这个测试与上面的fread 类似
Mmap:许多操作系统支持mmap()的使用来映射一个文件到用户地址空间
mmap是采用内存映射的方式进行测试

文件系统性能测试工具 IOZONE工具相关推荐

  1. Linux文件系统性能测试工具fdtree和iozone

    Linux Magazine用了四篇文章(第一部分,第二部分)介绍了两个Linux文件系统性能测试工具,fdtree和iozone.fdtree比较少听说,它可以测ext3, ext4, nilfs2 ...

  2. 软件测试性能测试结果,软件性能测试结果分析工具的研究与设计

    摘要: 随着软件行业的发展,针对软件系统尤其是Web应用系统的性能测试技术已经成为了软件测试领域的热点.虽然许多测试工具对性能测试提供了自动化支持,但性能测试的执行过程仍具有极高的专业性和复杂度,这一 ...

  3. Android 性能测试——Memory Monitor 工具

    Android 性能测试--Memory Monitor 工具 Memory Monitor能做什么? 实时查看App的内存分配情况 快速判断App是否由于GC操作造成卡顿 快速判断App的Crash ...

  4. 1 Linux系统性能测试与监测工具汇总

    综合能力 性能测试([Unixbench]) [root@localhost] $ ./Run 计算 查看当前CPU负载(uptime) [root@localhost] $ uptime 测试单cp ...

  5. 性能测试这些常用工具你一定要知道!【建议收藏!】

    目录 Jmeter Sysbench HammerDB SwingBench LoadRunner 推荐阅读 随着社会及信息技术的飞速发展,人们对计算机及网络的依赖性越来越大,与此同时,数据也更集中于 ...

  6. 【文件系统】使用iozone测试你的文件系统是否可靠

    性能是评估一个文件系统的最为关键的维度,根据文件系统在不同场景下的性能表现,可以判断文件系统是否适合特定的应用场景,并为系统性能调优提供依据. 当我们使用一个文件系统时(例如Ext4),我们怎么知道这 ...

  7. Android内存检测工具系列工具集

    Android内存检测工具系列工具集 Android关于内存的工具不少,灵活地选择工具就显得特别重要.在此特别推荐分享涵盖一定初步和定位能力的工具,可以让我们一步到位地分析问题,提升效率. 在此列举几 ...

  8. xml工具生成工具_研究当前的XML工具

    xml工具生成工具 常用缩略语 API:应用程序编程接口 DITA:达尔文信息键入体系结构 DTD:文档类型定义 HTML:超文本标记语言 IDE:集成开发环境 URL:统一资源定位符 W3C:万维网 ...

  9. 全球最优秀的免费软件下载-压缩工具-文件转换工具-下载工具-杀毒工具-图片编辑器-网络管理工具...

    [ 标题] 全球最优秀的免费软件下载 [ 关键字] 压缩工具- 文件转换工具- 下载工具- 杀毒工具- 图片编辑器- 网络管理工具- 即时软件  误删除文件恢复工具-文本编辑器-系统设置工具-虚拟工作 ...

  10. 注释工具_干货:PS工具介绍“计算工具+注释工具”

    计数工具 计数工具:计数工具的作用其实就是计数,比如一张包含有若干人像的照片,而这个时候你需要知道该图像中到底有多少人!那么计数工具将会给你带来极大的方便. 打开一张需要计数的文件,在工具栏中找到计数 ...

最新文章

  1. 资源已存在时POST的HTTP响应代码
  2. Django框架深入了解_05 (Django中的缓存、Django解决跨域流程(非简单请求,简单请求)、自动生成接口文档)(二)
  3. NSArray ----NSMutableArray
  4. Qt 使用代码编写的自定义控件类
  5. 前嗅ForeSpider教程:创建模板
  6. Ext.grid.GridPanel + asp.net 数据分页
  7. 测试人必备实用技能:写出一份好的Bug报告
  8. Flex代码整理插件——FlexPrettyPrintCommand
  9. Java基础IO流(案例源码)【六】
  10. JMeter 连接 sql server
  11. JBPM4.4_jBPM4.4的流程定义语言(设计流程)
  12. 【现代版】为人处世三十六计详解,真的很受益!
  13. JAVA网络编程个人笔记 第五章 URL和URI
  14. plcst语言编程教程_st语言编程实例讲解
  15. 记一次 WebBrowser 打开 PDF 文件失败问题的排查过程
  16. 计算机网络之无线与移动网络-蜂窝网络
  17. android远程控制灯光,11款可用手机远程控制的智能灯
  18. ZAFU_2021_1_26_2021寒假个人赛第二场题解
  19. 爬了世纪佳缘后发现了一个秘密,世纪佳缘找对象靠谱吗?
  20. excel中文件合并F9键

热门文章

  1. 中文手写输入法闪退问题
  2. 摩尔定律还会一直生效吗?
  3. 【常用 JS 插件】jQuery TreeTable 树表格插件
  4. cad2019菜单栏怎么调出来_AutoCAD2019工具栏如何调出?工具栏调出方法图文推荐
  5. 微信开发 | 配置微信公众号支付环境
  6. 小米手机便签一键启动这个功能,可将便签录音秒变文字
  7. SECS的常用术语介绍与使用
  8. rmmod不能卸载驱动
  9. Linux下测试sdio,浅析Linux下sdio接口对sd卡硬件检测流程
  10. SPSS入门教程—对数据进行去重操作的相关方法