文件系统性能测试工具 IOZONE工具

测试目的

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

测试工具

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是采用内存映射的方式进行测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三千院喵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值