Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6971985
  • 博文数量: 701
  • 博客积分: 10821
  • 博客等级: 上将
  • 技术积分: 12021
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-02 10:41
个人简介

中科院架构师,专注企业数字化各个方面,MES/ERP/CRM/OA、物联网、传感器、大数据、ML、AI、云计算openstack、Linux、SpringCloud。

文章分类

全部博文(701)

分类: LINUX

2017-07-06 17:31:37

IOZONE主要用来测试操作系统文件系统性能的测试工具,该工具所测试的范围主要有,write , Re-write, Read, Re-Read, Random Read, Random Write, Random Mix, Backwards Read, Record Rewrite, Strided Read, Fwrite, Frewrite, Fread, Freread, Mmap, Async I/O
使用iozone可以在多线程、多cpu,并指定cpu cache空间大小以及同步或异步I/O读写模式的情况下进行测试文件操作性能;
(0=write/rewrite, 1=read/re-read, 2=random-read/write, 3=Read-backwards, 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, 12=preadv/Re-preadv).  

Iozone 工具的安装使用:
Iozone工具以rpm包的形式安装,Iozone工具iozone-3-283.i386.rpm可以存放在/usr/src目录下面,然后调用rpm –ivh iozone-3-283.i386.rpm 进行安装,安装成功以后,进入/opt/iozone/bin/目录,即可以调用以下详细测试命令进行测试。
针对文件系统的测试可以按一下几项执行操作:

1.  多线程下的同步I/O读写测试
分别针对128K,16M,256M,2G文件大小和8进程,64进程,128进程数进行测试
主要测试文件写和重复写、读和重复读、随即读写、后向读、文件内随即点写、大间隔文件点读、文件内的随即点读写等测试项,记录大小1M cpu cache 2048kbyte。

1.1 128k 文件性能测试:
1.1.1 8进程文件性能测试:
测试命令为:
Iozone –s 128k –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 8 –r 1m –S 2048 –G –o –B > test-128k-8-g.txt

1.1.2 64进程文件性能测试:
测试命令为:
Iozone –s 128k –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 64 –r 1m –S 2048 –G –o –B > test-128k-64-g.txt

1.1.3 128进程文件性能测试:
测试命令为:
Iozone –s 128k –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 128 –r 1m –S 2048 –G –o –B > test-128k-128-g.txt

1.2 16M文件性能测试
1.2.1 8进程文件性能测试:
测试命令为:
Iozone –s 16M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 8 –r 1m –S 2048 –G –o –B > test-16m-8-g.txt

1.2.2 64进程文件性能测试:
测试命令为:
Iozone –s 16M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 64 –r 1m –S 2048  –G –o –B > test-16m-64-g.txt

1.2.3 128进程文件性能测试:
测试命令为:
Iozone –s 16M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 128 –r 1m –S 2048  –G –o –B > test-16m-128-g.txt

1.3 256M文件性能测试
1.3.1 8进程文件性能测试:
测试命令为:
Iozone –s 256M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 8 –r 1m –S 2048  –G –o –B > test-256m-8-g.txt

1.3.2 64进程文件性能测试:
测试命令为:
Iozone –s 256M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 64 –r 1m –S 2048  –G –o –B > test-256m-64-g.txt

1.3.3 128进程文件性能测试:
测试命令为:
Iozone –s 256M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 128 –r 1m –S 2048  –G –o –B > test-256m-128-g.txt

1.4 2G文件性能测试
1.4.1 8进程文件性能测试:
测试命令为:
Iozone –s 2G –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 8 –r 1m –S 2048  –G –o –B > test-2G-8-g.txt

1.4.2 64进程文件性能测试:
测试命令为:
Iozone –s 2G –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 64  –r 1m –S 2048  –G –o –B > test-2G-64-g.txt

1.4.3 128进程文件性能测试:
测试命令为:
Iozone –s 2G –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 128 –r 1m –S 2048  –G –o –B > test-2G-128-g.txt

2.  多线程下的异步I/O读写测试
分别针对128K,16M,256M,2G文件大小和8进程,64进程,128进程数进行测试
主要测试文件写和重复写、读和重复读、随即读写、后向读、文件内随即点写、大间隔文件点读、文件内的随即点读写等测试项。

2.1 128k 文件性能测试:
2.1.1 8进程文件性能测试:
测试命令为:
Iozone –s 128k –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 8 –r 1m –S 2048  –D –o –B > test-128k-8-d.txt

2.1.2 64进程文件性能测试:
测试命令为:
Iozone –s 128k –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 64 –r 1m –S 2048  –D –o –B > test-128k-64-d.txt

2.1.3 128进程文件性能测试:
测试命令为:
Iozone –s 128k –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 128 –r 1m –S 2048  –D –o –B > test-128k-128-d.txt

2.2 16M文件性能测试
2.2.1 8进程文件性能测试:
测试命令为:
Iozone –s 16M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 8 –r 1m –S 2048  –D –o –B > test-16m-8-d.txt

2.2.2 64进程文件性能测试:
测试命令为:
Iozone –s 16M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 64 –r 1m –S 2048  –D –o –B > test-16m-64-d.txt

2.2.3 128进程文件性能测试:
测试命令为:
Iozone –s 16M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 128 –r 1m –S 2048  –D –o –B > test-16m-128-d.txt

2.3 256M文件性能测试
2.3.1 8进程文件性能测试:
测试命令为:
Iozone –s 256M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 8 –r 1m –S 2048  –D –o –B > test-256m-8-d.txt

2.3.2 64进程文件性能测试:
测试命令为:
Iozone –s 256M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 64 –r 1m –S 2048  –D –o –B > test-256m-64-d.txt

2.3.3 128进程文件性能测试:
测试命令为:
Iozone –s 256M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 128 –r 1m –S 2048  –D –o –B > test-256m-128-d.txt

2.4 2G文件性能测试
2.4.1 8进程文件性能测试:
测试命令为:
Iozone –s 2G –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 8 –r 1m –S 2048  –D –o –B > test-2G-8-d.txt

2.4.2 64进程文件性能测试:
测试命令为:
Iozone –s 2G –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 64 –r 1m –S 2048  –D –o –B > test-2G-64-d.txt

2.4.3 128进程文件性能测试:
测试命令为:
Iozone –s 2G –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 128 –r 1m –S 2048  –D –o –B > test-2G-128-d.txt
iozone介绍: 
  iozone()是一个文件系统的benchmark工具,可以测试不同的操作系统中文件系统的读写性能。
  可以测试 Read, write, re-read,re-write, read backwards, read strided, fread, fwrite, random read, pread,
  mmap, aio_read, aio_write 等等不同的模式下的硬盘的性能。

测试的时候请注意,设置的测试文件的大小一定要大过你的内存(最佳为内存的两倍大小),不然linux会给你的读写的内容进行缓存。会使数值非常不真实.
iozone常用的几个参数.
-a 全面测试,比如块大小它会自动加
-i N 用来选择测试项, 比如Read/Write/Random 比较常用的是0 1 2,可以指定成-i 0 -i 1 -i2.这些别的详细内容请查man
  0=write/rewrite
  1=read/re-read
  2=random-read/write
  3=Read-backwards
  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
  12=preadv/Re-preadv

-r block size 指定一次写入/读出的块大小
-s file size 指定测试文件的大小
-f filename 指定测试文件的名字,完成后会自动删除(这个文件必须指定你要测试的那个硬盘中)
-F file1 file2... 指定多线程下测试的文件名

批量测试项:
-g -n 指定测试文件大小范围,最大测试文件为4G,可以这样写 -g 4G
-y -q 指定测试块的大小范围

输出:
下面是几个日志记录的参数.好象要输出成图象进行分析,需要指定-a的测试才能输出
-R 产生Excel到标准输出
-b 指定输出到指定文件上. 比如 -Rb ttt.xls

我的测试实例:
#./iozone -a -n 512m -g 4g -i 0 -i 1 -i 5 -f /mnt/iozone -Rb ./iozone.xls

注:进行全面测试.最小测试文件为512M直到测试到4G.测试read,write,和Strided Read.测试的地方在mnt下。生成Excel的文件.
./iozone -i 0 -i 1 -f /iozone.tmpfile -Rab /test-iozone.xls -g 8G -n 4G -C

结果分析:
使用这条测试命令测试NAS后,我对下边产生的Execl文件中的一段表进行下解释,很简单的:
Writer Report 

4 8 16 32 64 
32768 5300 8166 12726 16702 24441 
65536 5456 8285 9630 16101 18679 
131072 5539 6968 9453 13086 14136 
262144 5088 7092 9634 11602 14776 
524288 5427 9356 10502 13056 13865 
1048576 6061 9625 11528 12632 13466 

在Execl文件中的这段表,它说明了这个表单是关于write的测试结果,左侧一列是测试文件大小(Kbytes),
最上边一行是记录大小,中间数据是测试的传输速度。举例说明,比如表中的“5300”,意思是测试文件大小为
32M,以记录大小为4K来进行传输,它的传输速度为5300 Kbytes/s
阅读(2916) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~