Oracle ORION IO 测试工具

来源:互联网 发布:sql软件哪个好用 编辑:程序博客网 时间:2024/04/30 19:16

. ORION概述

1.1 ORION说明

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

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

 

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

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

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

 

       优势:

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

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

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

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

 

       缺点

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

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

 

1.2 ORION帮助

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

ORION: ORacle IO Numbers --Version10.2.0.1.0

ORION runs IO performance tests thatmodelOracle 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 mixof smalland large IO loads sustained for a duration.  Anywhere from a single datapoint to atwo-dimensional array of data points can be tested by setting therightoptions.

 

An Orion test consists of data pointsatvarious small and large IO load levels. These points can be representedas a two-dimensional matrix: Each columnin the matrix represents a fixed smallIO load. Each row represents a fixedlarge IO load.  The first row is withno largeIO load and the first column is with no small IO load.  An Oriontest can be a single point, a row, acolumn or the whole matrix.

 

Parameters 'run','testname', and 'num_disks'are mandatory. Defaults areindicated for all otherparameters.  For additional information on the userinterface, see the Orion User Guide.

--运行ORAION必须包含run,testname,num_disks三个参数。

 

<testname>.lun should containacarriage-return-separated list of LUNs The output files for a test runareprefixed by <testname>_.

 

The output files are:

<testname>_summary.txt - Summaryofthe input parameters along with min. small latency, max large MBPS and/ormax.small IOPS.

<testname>_mbps.csv -Performanceresults of large IOs in MBPS(吞吐量)

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

<testname>_lat.csv - Latency ofsmallIOs(响应时间)

<testname>_tradeoff.csv - ShowslargeMBPS / small IOPS combinations that can be achieved at certain smalllatencies

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

--ORION 执行结束会输出5个文件,每个文件的不同作用参考上面的说明。

 

WARNING: IF YOU ARE PERFORMING WRITETESTS,BE PREPARED TO LOSE ANY DATA STORED ON THE LUNS.

 

Mandatory parameters(强制的参数说明):

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

                                   simple - tests random 8K small IOsat various loads,then random 1M largeIOs at various loads.

                         normal - tests combinations of random8K small IOs and random 1Mlarge IOs

                         advanced - run theworkload specified by the user using optional parameters

testname               Name of the test run

num_disks              Number of disks (physicalspindles)

 

Optional parameters(可选的参数说明,注意默认值):

size_small             Size of small IOs (in KB) -default 8

size_large             Size of large IOs (in KB) -default 1024

type                   Typeof large IOs (rand,seq) - default rand

                            rand- Random largeIOs

                             seq -  Sequential streams of large IOs

num_streamIO         Number of concurrent IOs per stream(only if type is seq) - default 4

simulate             Orion tests on a virtual volumeformed by combining theprovided volumes in one of these ways (default concat):

                         concat - A serialconcatenation of the volumes

                         raid0 - A RAID-0mapping across the volumes

write                Percentage of writes (SEEWARNING ABOVE) - default 0

cache_size             Size *IN MEGABYTES* of thearray's cache.

                       Unless this option is set to 0, Orion does anumber of (unmeasured) randomIO before each large sequential data point.  This is done in order to fillup the array cachewith random data.  This way, the blocksfrom one datapoint do not result in cache hits for the next data point.  Read tests arepreceded with junk reads andwrite tests are preceded with junk writes. Ifspecified, this 'cache warming' is done until cache_size worth of IOhas beenread or written.

                        Default behavior: fillup cache for 2 minutes before each data point.

duration               Duration of each data point (inseconds) - default 60

num_small              Number of outstanding small IOs(only if matrix is point, col, or max) - no default

num_large              For random, number ofoutstanding large IOs.

                       For sequential, numberof streams (only if matrix is point, row, or max) - nodefault

matrix                 An Orion test consists ofdata points at various small and large IO loadlevels.  These points can be represented as atwo-dimensional matrix: Eachcolumn in the matrix represents a fixed small IOload.  Each row representsa fixed largeIO load.  The first row is with no largeIO load and the firstcolumn is with no small IO load.  An Orion test can be a single point, arow, acolumn or the whole matrix, depending on the matrix option setting below (default basic):

                         basic - test thefirst row and the first column

                         detailed - test theentire matrix

                         point - test at loadlevel num_small, num_large

                         col - varying largeIO load with num_small small IOs

                         row - varying smallIO load with num_large large IOs

                         max - test varyingloads up to num_small, num_large

verbose                Prints tracing information tostandard output if set.

                        Default -- not set

 

Examples

For a preliminary set of data

       -runsimple -testname <name> -num_disks <#>

For a basic set of data

       -runnormal -testname <name> -num_disks <#>

To generate combinations of 32KB and1MBreads to random locations:

       -runadvanced -testname <name> -num_disks <#>

       -size_small32 -size_large 1024 -type rand      -matrix detailed

To generate multiple sequential 1MBwritestreams, simulating 1MB RAID0 stripes

       -runadvanced -testname <name> -num_disks <#>

       -simulateRAID0 -stripe 1024 -write 100 -type seq

       -matrixcol -num_small 0

 

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

 

 

.Windows下使用方法

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

\\.\D:

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

 

2.2 执行orion命令。 

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

C:\Program Files(x86)\Oracle\Orion>orion -runsimple -testname dave -num_disks 1

--注意这里的testname参数,只需要写文件名就可以了,orion会自动补上扩展名,如果写上扩展名,反而会报错

ORION: ORacle IONumbers -- Version10.2.0.1.0

Test will takeapproximately 9 minutes

Larger cachesmay take longer

 

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

 

2.3 查看结果

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

 

ORION VERSION10.2.0.1.0

 

Commandline:

-run simple-testname dave -num_disks 1

 

This maps tothis test:

Test: dave

Small IO size: 8KB

Large IO size:1024 KB

IO Types: SmallRandom IOs, Large RandomIOs

Simulated ArrayType: CONCAT

Write: 0%

Cache Size: NotEntered

Duration foreach Data Point: 60 seconds

SmallColumns:,     0

LargeColumns:,     0,      1,     2

Total DataPoints: 8

 

Name: \\.\D:   Size: 1784847360

1 FILEs found.

 

Maximum LargeMBPS=32.83 @ Small=0 andLarge=1

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

Minimum SmallLatency=13.53 @ Small=1 andLarge=0

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

 

.Linux下使用方法

3.1解压缩ORION

      用root用户解压软件:

       unzip orion_linux_x86-64.gz

       解压完成后,生成ORION软件:orion_linux_x86-64

 

3.2配置dave.lun文件。如:

  /dev/sdc1

  /dev/sdd1

  /dev/sde1

  /dev/sdf1

 

3.3执行orion命令:

   orion_linux_x86-64 -runsimple -testname dave -num_disks 4

       --注意这里的testname参数,只需要写文件名就可以了,orion会自动补上扩展名,如果写上扩展名,反而会报错

 

3.4查看结果

 

 

.其他的几个测试命令示例

 

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

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

 

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

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

 

4.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 -typerand &

 

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

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


转:http://blog.csdn.net/tianlesoftware/article/details/596533

 


原创粉丝点击