Oracle ORION IO 测试工具

ORION (Oracle I/O Calibration Tool)是校准用于Oracle数据库的存储系统I/O性能的独立工具。校准结果对于了解存储系统的性能有很大帮助,不仅可以找出影响Oracle数据库性能的问题,还能测量新数据库安装的大小。由于ORION是一个独立工具,用户不需要创建和运行Oracle数据库。

为了尽可能地模拟Oracle数据库,ORION使用和Oracle相同的I/O软件集生成一个合成的I/O负载。可以将ORION配置为生成很多I/O负载,包括一个模拟OLTP和数据仓库负载的I/O负载。

ORION支持多种平台。将来还会增加对更多平台的支持。用户指南提供详细的使用文档,包括“入门”部分和疑难解答提示。在ORION中调用“-help”选项可以直接获取关于如何使用ORION的摘要。


注意,Oracle不对ORION提供支持。

Orion的下载地址为:
http://www.oracle.com/technology/global/cn/software/tech/orion/index.html

下载需要一个OTN的免费帐号。

先看一下orion的帮助:

C:/Users/Administrator.DavidDai>cd C:/Program Files (x86)/Oracle/Orion

C:/Program Files (x86)/Oracle/Orion>orion -help

ORION: ORacle IO Numbers -- Version 10.2.0.1.0

ORION runs IO performance tests that model Oracle RDBMS IO workloads.

It measures the performance of small (2-32K) IOs and large (128K+) IOs

at various load levels.Each Orion data point is done at a specific

mix of small and large IO loads sustained for a duration.Anywhere

from a single data point to a two-dimensional array of data points can

be tested by setting the right options.

An Orion test consists of data points at various small and large IO

load levels.These points can be represented as a two-dimensional

matrix: Each column in the matrix represents a fixed small IO load.

Each row represents a fixed large IO load.The first row is with no

large IO load and the first column is with no small IO load.An Orion

test can be a single point, a row, a column or the whole matrix.

Parameters 'run', 'testname', and 'num_disks' are mandatory. Defaults

are indicated for all other parameters.For additional information on

the user interface, see the Orion User Guide.

<testname>.lun should contain a carriage-return-separated list of LUNs

The output files for a test run are prefixed by <testname>_.

The output files are:

<testname>_summary.txt - Summary of the input parameters along with min. small

latency, max large MBPS and/or max. small IOPS.

<testname>_mbps.csv - Performance results of large IOs in MBPS

<testname>_iops.csv - Performance results of small IOs in IOPS

<testname>_lat.csv - Latency of small IOs

<testname>_tradeoff.csv - Shows large MBPS / small IOPS combinations that can

be achieved at certain small latencies

<testname>_trace.txt - Extended, unprocessed output

WARNING: IF YOU ARE PERFORMING WRITE TESTS, BE PREPARED TO LOSE ANY DATA STORED

ON THE LUNS.

Mandatory parameters:

runType of workload to run (simple, normal, advanced)

simple - tests random 8K small IOs at various loads,

then random 1M large IOs at various loads.

normal - tests combinations of random 8K small

IOs and random 1M large IOs

advanced - run the workload specified by the user

using optional parameters

testnameName of the test run

num_disksNumber of disks (physical spindles)

Optional parameters:

size_smallSize of small IOs (in KB) - default 8

size_largeSize of large IOs (in KB) - default 1024

typeType of large IOs (rand, seq) - default rand

rand - Random large IOs

seq -Sequential streams of large IOs

num_streamIONumber of concurrent IOs per stream (only if type is

seq) - default 4

simulateOrion tests on a virtual volume formed by combining the

provided volumes in one of these ways (default concat):

concat - A serial concatenation of the volumes

raid0 - A RAID-0 mapping across the volumes

writePercentage of writes (SEE WARNING ABOVE) - default 0

cache_sizeSize *IN MEGABYTES* of the array's cache.

Unless this option is set to 0, Orion does a number

of (unmeasured) random IO before each large sequential

data point.This is done in order to fill up the array

cache with random data.This way, the blocks from one

data point do not result in cache hits for the next

data point.Read tests are preceded with junk reads

and write tests are preceded with junk writes.If

specified, this 'cache warming' is done until

cache_size worth of IO has been read or written.

Default behavior: fill up cache for 2 minutes before

each data point.

durationDuration of each data point (in seconds) - default 60

num_smallNumber of outstanding small IOs (only if matrix is

point, col, or max) - no default

num_largeFor random, number of outstanding large IOs.

For sequential, number of streams (only if matrix is

point, row, or max) - no default

matrixAn Orion test consists of data points at various small

and large IO load levels.These points can be

represented as a two-dimensional matrix: Each column

in the matrix represents a fixed small IO load.Each

row represents a fixed large IO load.The first row

is with no large IO load and the first column is with

no small IO load.An Orion test can be a single point,

a row, a column or the whole matrix, depending on the

matrix option setting below (default basic):

basic - test the first row and the first column

detailed - test the entire matrix

point - test at load level num_small, num_large

col - varying large IO load with num_small small IOs

row - varying small IO load with num_large large IOs

max - test varying loads up to num_small, num_large

verbosePrints tracing information to standard output if set.

Default -- not set

Examples

For a preliminary set of data

-run simple -testname <name> -num_disks <#>

For a basic set of data

-run normal -testname <name> -num_disks <#>

To generate combinations of 32KB and 1MB reads to random locations:

-run advanced -testname <name> -num_disks <#>

-size_small 32 -size_large 1024 -type rand-matrix detailed

To generate multiple sequential 1MB write streams, simulating 1MB RAID0 stripes

-run advanced -testname <name> -num_disks <#>

-simulate RAID0 -stripe 1024 -write 100 -type seq

-matrix col -num_small 0

C:/Program Files (x86)/Oracle/Orion>

该软件的优势:

1、不需要运行load runner以及配置大量的clinet

2、不需要运行oracle数据库,以及准备大量的测试数据

3、测试结果更具有代表性,如随机IO测试中,该软件可以让存储的命中率接近为0,而更仿真出了磁盘的真实的IOPS,而load runner很难做到这些,最终的磁盘IOPS需要换算得到。

4、可以根据需要定制一定比例的写操作(默认没有写操作),但是需要注意,如果磁盘上有数据,需要小心数据被覆盖掉。

当然,也有其缺点

1、到现在为止,无法指定自定义的总体的运行时间以及加压的幅度,这里完全是自动的

2、无法进行一些自定义的操作类型,如表的扫描操作,装载测试等等,不过可以与oracle数据库结合起来达到这个效果

Windows下使用方法:

1.在Orion的安装目录下新建dave.lun文件,在里面添加要测试的分区,比如:

//./D:

这里我们要对D盘进行测试。

2.执行orion命令。Orion有三个不同的等级,simple,normal,advance.这个根据自己的需求来进行设置。如:

C:/Program Files (x86)/Oracle/Orion>orion -run simple -testname dave -num_disks 1

ORION: ORacle IO Numbers -- Version 10.2.0.1.0

Test will take approximately 9 minutes

Larger caches may take longer

这里的testname写我们之前配置的lun文件的名称,num_disks是磁盘的数量。

3.查看结果

在orion的安装目录下,会生成几个文件:dave_iops.csv;dave_lat.csv;dave_mbps.csv; dave_summary.txt和dave_trace.txt文件。我们可以看一下summary的内容。

ORION VERSION 10.2.0.1.0

Commandline:

-run simple -testname dave -num_disks 1

This maps to this test:

Test: dave

Small IO size: 8 KB

Large IO size: 1024 KB

IO Types: Small Random IOs, Large Random IOs

Simulated Array Type: CONCAT

Write: 0%

Cache Size: Not Entered

Duration for each Data Point: 60 seconds

Small Columns:,0

Large Columns:,0,1,2

Total Data Points: 8

Name: //./D:Size: 1784847360

1 FILEs found.

Maximum Large MBPS=32.83 @ Small=0 and Large=1

Maximum Small IOPS=74 @ Small=2 and Large=0

Minimum Small Latency=13.53 @ Small=1 and Large=0

因为其测试结果是csv文件,所以可以很方便的根据结果在excle中绘制压力曲线。

Linux下使用方法:

1.和windows下的一致。首先是配置dave.lun文件。如:

  /dev/sdc1

  /dev/sdd1

  /dev/sde1

  /dev/sdf1

2.执行orion命令:

orion -run simple -testname dave -num_disks 4

3.查看结果。

网上看到的其他几个测试命令:

1、数据库OLTP类型,假定IO类型全部是8K随机操作,压力类型,自动加压,从小到大,一直到存储压力极限

#./orion -run advanced -testname dave -num_disks 1 -size_small 8 -size_large 8 -type rand &

2、数据库吞吐量测试,假定IO全部是1M的序列性IO

#./orion -run advanced -testname mytest -num_disks 96 -size_small 1024 -size_large 1024 -type seq &

3、指定特定的IO类型与IO压力,如指定小IO为压力500的时候,不同大IO下的压力情况

#./orion -run advanced -testname mytest -num_disks 96 -size_small 8 -size_large 128 -matrix col -num_small 500 -type rand &

4、结合不同的IO类型,测试压力矩阵

#./orion -run advanced -testname mytest -num_disks 96 -size_small 8 -size_large 128 -matrix detailed -type rand &

整理自网络

------------------------------------------------------------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值