1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 文件系统性能测试工具 IOZONE工具

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

时间:2024-07-16 18:19:15

相关推荐

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

测试目的

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

文章目录

测试目的测试工具IOZONE什么是IOZONEIOZONE与dd测试的区别IOZONE测试内容测试注意事项安装IOZONEIOZONE测试模式自动模式关键指标输出测试结果测试文件大小配置指定测试内容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 /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是采用内存映射的方式进行测试

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。