oracle orion测试,orion测试工具详解

orion是一个 oracle提供的IO性能测试工具,其可以模拟数据库的各种IO压力特点,对磁盘进行压力测试

如:

1.随机small IO:索引扫描时的IO

2.随机large IO:由于条带化,一个连续的读写扩展到多个磁盘上。因此,在磁盘的这个层次上,许多的连续的读写被看作随机的1M的IO,又被称作多用户的连续IO。

3.连续large IO:数据装载,备份,恢复时,并行查询时产生的IO,各个子进程可以协调,从而是连续IO

4.混合负载

orion支持各种方式连接到主机的存储,到注意,NAS上的IO性能依赖于文件指定的IO模式,所以在运行orion前,必须初始化文件属性

先来看一下orion生成的结果

分为3个文件,分别为收集的3种磁盘IO指标 mbps / latency / iops

每个文件的内容为一个n*m的矩阵,其中,横坐标代表有多少个进程在进行small IO,竖坐标代表有多少个进程在进行large IO

如果横坐标为4,输坐标为10,这表示在10个进程进行large IO的同时,在有4个进程进行small IO的条件下,磁盘读取数据可以达到475MB/s

ORION 执行结束会输出5个文件:

● _summary.txt - Summary of the input parameters along with min. small latency, max large MBPS and/or max.small IOPS.

● _mbps.csv - Performanceresults of large IOs in MBPS(吞吐量)

● _iops.csv - Performanceresults of small IOs in IOPS(每秒IO次数)

● _lat.csv - Latency of smallIOs(响应时间)

● _tradeoff.csv - Shows largeMBPS / small IOPS combinations that can be achieved at certain small latencies

● _trace.txt - Extended,unprocessed output(跟踪信息,最详细的数据)

orion命令的参数:

-run

指定orion运行的模式

5种模式:

simple:只测试所有进程都运行small IO时的latency&iops指标,以及所有进程都运行large IO时的mbps

normal:对于3个指标,n*m的矩阵内的组合都进行测试,进行该测试花费时间很长

advanced:自己定制测试方案

dss:只测试large IO的mbps性能

oltp:只测试small IO的latency和iops性能

simple/normal模式下,只能使用cache_size和verbose参数

dss/oltp模式下,不允许使用-type,-matrix,-num_small,-num_large

-testname

测试名,对应的使用那些设备来测试IO的清单文件为.lun

-size_small

测试small IO时,使用多大的块大小测试,可以设置为打算创建数据库的db_block_size

-size_large

测试large IO时,一个连续的IO大小,默认1MB,一般的OS最大IO大小也就是1MB

-type

large IO的类型,随机还是顺序

默认为随机

单一的全表扫描是随机large IO

并行操作可以被看做顺序large IO

-num_streamIO

如果是顺序large IO,那么设置每个进程有多少并发的进程来协调,默认为4,相当于查询加了/*+parallel(a,4)*/

-simulate

如果磁盘底层已经做了条带,指定为concat即可

如果想测试磁盘在OS在做一层条带,如ASM管理这样的,那么可以指定为raid0

-write

写操作占测试IO量的百分比

如果测试读性能指定为0,写性能指定为100,混合性能指定为1-99

-cache_size

由于阵列带有缓存,测试前,可以指定这部分缓存的大小,先填满缓存后在测试

默认为2分钟后在进行测试,先进行2分钟IO以填满缓存

-duration

data point间的间隔时间

默认为1分钟

-num_small

指定测试small IO时,进程个数

-num_large

指定测试large IO时,进程个数

-matrix

使用非simple/normal模式时,希望得到的测试结果形式

basic:等同于run -simple的输出,只是可以更多定制

detailed:等同于run -normal的输出,只是可以更多定制

point:只测给定num_small,num_large这个点的性能

col:只测给定num_small值的那一列的large IO

row:只测给定num_large值的那一行的small IO

max:以num_small,num_large做为横竖坐标的最大值,测试n*m矩阵内所有组合的值

测试需要的时间:

需要测试的组合数量(不包含Point 1) * duration + 写满cache_size需要的时间

测试对于DSS应用,8K的块大小和32块大小IO的差别

可以看到8K的块大小和32K块大小时,大IO的区别

同进程数下,8K时的IO能力要小于32K时的

一般需要的测试:

./orion -run simple -testname io_test -verbose &  测试8k块大小下随机读iops和lat,1m块大小下mbps

./orion -run dss -testname io_test -verbose & 随机1M的读

./orion -run dss -testname io_test -write 100 -verbose & 随机1M的写

./orion -run oltp -testname io_test -size_small 8  -verbose & 测试块大小为8k时随机读iops和lat

./orion -run oltp -testname io_test -size_small 8 -write 100 -verbose & 测试块大小为8k时随机写iops和lat

./orion -run oltp -testname io_test -size_small 32 -verbose & 测试块大小为32k时随机读iops和lat

./orion -run oltp -testname io_test -size_small 32 -write 100  -verbose & 测试块大小为32k时随机写iops和lat

./orion_linux_x86-64 -run advanced -testname io_test -simulate raid0 -size_large 1024 -write 0 -duration 60 -matrix max  -num_large 20 -num_small 0 -type seq -num_streamIO 32 -verbose &   radi0模式 1M 顺序读 20个流 每个流32个进程

./orion_linux_x86-64 -run advanced -testname io_test -simulate raid0 -size_large 1024 -write 100 -duration 60 -matrix   max  -num_large 20 -num_small 0 -type seq -num_streamIO 32 -verbose & raid0模式 1M顺序写 20个流 每个流32个进程

./orion_linux_x86-64 -run advanced -testname io_test -simulate raid0 -size_small 8 -write 0 -duration 60 -matrix max  -num_small 20 -num_large 0 -type seq -num_streamIO 32 -verbose &   radi0模式 8k 顺序读 20个流 每个流32个进程

./orion_linux_x86-64 -run advanced -testname io_test -simulate raid0 -size_small 32 -write 0 -duration 60 -matrix max  -num_small 20 -num_large 0 -type seq -num_streamIO 32 -verbose &   radi0模式 32k 顺序读 20个流 每个流32个进程

./orion_linux_x86-64 -run advanced -testname io_test -simulate raid0 -size_small 8 -write 100 -duration 60 -matrix max  -num_small 20 -num_large 0 -type seq -num_streamIO 32 -verbose &   radi0模式 8k 顺序写 20个流 每个流32个进程

./orion_linux_x86-64 -run advanced -testname io_test -simulate raid0 -size_small 32 -write 100 -duration 60 -matrix max  -num_small 20 -num_large 0 -type seq -num_streamIO 32 -verbose &   radi0模式 32k 顺序写 20个流 每个流32个进程

./orion_linux_x86-64 -run advanced -testname io_test -simulate raid0 -size_small 8 -write 100 -duration 60 -matrix   max  -num_large 0 -num_small 20 -type seq  -verbose &  模拟dbwr的写

./orion_linux_x86-64 -run advanced -testname io_test -simulate concat -size_large 1024 -write 0 -duration 60 -matrix   max  -num_large 20 -num_small 0 -type seq -num_streamIO 32 -verbose &  concat模式 1M 顺序读 20个流 每个流32个进程

./orion_linux_x86-64 -run advanced -testname io_test -simulate concat -size_large 1024 -write 100 -duration 60 -matrix   max  -num_large 20 -num_small 0 -type seq -num_streamIO 32 -verbose &  concat模式 1M 顺序写 20个流 每个流32个进程

./orion_linux_x86-64 -run advanced -testname io_test -simulate concat  -size_small 8 -write 0 -duration 60 -matrix max  -num_small 20 -num_large 0 -type seq -num_streamIO 32 -verbose &   concat 模式 8k 顺序读 20个流 每个流32个进程

./orion_linux_x86-64 -run advanced -testname io_test -simulate concat -size_small 32 -write 0 -duration 60 -matrix max  -num_small 20 -num_large 0 -type seq -num_streamIO 32 -verbose &  concat 模式 32k 顺序读 20个流 每个流32个进程

./orion_linux_x86-64 -run advanced -testname io_test -simulate concat -size_small 8 -write 100 -duration 60 -matrix max  -num_small 20 -num_large 0 -type seq -num_streamIO 32 -verbose &   concat 模式 8k 顺序写 20个流 每个流32个进程

./orion_linux_x86-64 -run advanced -testname io_test -simulate concat  -size_small 32 -write 100 -duration 60 -matrix max  -num_small 20 -num_large 0 -type seq -num_streamIO 32 -verbose &   concat 模式 32k 顺序写 20个流 每个流32个进程

参考链接:

http://blog.sina.com.cn/s/blog_c2b683a30101ex55.html

http://blog.csdn.net/tianlesoftware/article/details/5965331

http://hsbxxl.blog.51cto.com/181620/759238

http://johnwang.blog.51cto.com/474770/326060

http://blog.itpub.net/4227/viewspace-612051/

http://blog.itpub.net/8242091/viewspace-774773/

阅读(5196) | 评论(0) | 转发(0) |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值