当前位置: 首页 > 工具软件 > Orion > 使用案例 >

使用Orion测试ASM磁盘组

秦权
2023-12-01

Oracle orion下载

https://www.oracle.com/cn/technical-resources/topics/oracle-orion-download.html

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

orion是一个独立的工具,用户不需要创建和运行数据库。ORION 使用和 Oracle 相同的 I/O 软件集生成一个合成的 I/O 负载。可以将 ORION 配置为生成很多 I/O 负载,包括一个模拟 OLTP 和数据仓库负载的 I/O 负载来尽可能实现还原数据库环境。

压测前期准备

1.创建orion配置文件,包含待测试磁盘或者在待测磁盘上dd部分文件用来测试。

[root@rac1 /root]
#cd disktest/

[root@rac1 /root/disktest]
#ls
disktest.lun

[root@rac1 /root/disktest]
#pwd
/root/disktest

[root@rac1 /root/disktest]
#ls
disktest.lun

[root@rac1 /root/disktest]
#cat disktest.lun
/dev/mapper/asm-ocr1
/dev/mapper/asm-ocr2
/dev/mapper/asm-ocr3
/dev/mapper/asm-data1
/dev/mapper/asm-mgmt

2.orion安装及选项说明

压缩包下载好直接解压即可使用无需编译
#./orion_linux_x86 -help
ORION: ORacle IO Numbers -- Version 11.1.0.7.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.

The 'run' parameter is the only mandatory parameter. Defaults
are indicated for all other parameters.  For additional information on
the user interface, see the Orion User Guide.

<testname> is a filename prefix.  By default, it is "orion".  It can be
specified with the 'testname' parameter.

<testname>.lun should contain a carriage-return-separated list of LUNs
The output files for a test run are prefixed by <testname>_<date> where
date is "yyyymmdd_hhmm".

The output files are:
<testname>_<date>_summary.txt -  Summary of the input parameters along with
                                 min. small latency, max large MBPS
                                 and/or max. small IOPS.
<testname>_<date>_mbps.csv - Performance results of large IOs in MBPS
<testname>_<date>_iops.csv - Performance results of small IOs in IOPS
<testname>_<date>_lat.csv - Latency of small IOs
<testname>_<date>_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:
run                     Type of workload to run (simple, normal, advanced, dss, oltp)
                        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
                        dss - run with random 1M large IOs at increasing loads
                                to determine the maximum throughput
                        oltp - run with random 8K small IOs at increasing loads
                                to determine the maximum IOPS
Optional parameters:
testname                Name of the test run
num_disks                       Number of disks (physical spindles). Default is
                        the number of LUNs in <testname>.lun
size_small              Size of small IOs (in KB) - default 8
size_large              Size of large IOs (in KB) - default 1024

type                    Type of large IOs (rand, seq) - default rand
                          rand - Random large IOs
                          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 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

write                   Percentage of writes (SEE WARNING ABOVE) - default 0

cache_size              Size *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.

duration                Duration of each data point (in seconds) - default 60

num_small               Number of outstanding small IOs (only if matrix is
                        point, col, or max) - no default
num_large               For random, number of outstanding large IOs.
                        For sequential, number of streams (only if matrix is
                        point, row, or max) - no default

matrix                  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, 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

verbose                 Prints tracing information to standard output if set.
                        Default -- not set

Examples
For a preliminary set of data
        -run simple
For a basic set of data
        -run normal
To evaluate storage for an OLTP database
        -run oltp
To evaluate storage for a data warehouse
        -run dss
To generate combinations of 32KB and 1MB reads to random locations:
        -run advanced
        -size_small 32 -size_large 1024 -type rand      -matrix detailed
To generate multiple sequential 1MB write streams, simulating 1MB RAID0 stripes
        -run advanced
        -simulate RAID0 -stripe 1024 -write 100 -type seq
        -matrix col -num_small 0 

压测过程

orion测试

测试背景

使用五块盘进行测试,asm-ocr1(20G)、asm-ocr2(20G)、asm-ocr3(20G)、asm-data1(1.1T)、asm-mgmt(100G)

测试配置

[root@rac1 /u01/app/oracle/product/19.3.0/db_1]
#cat ractest.lun
/dev/mapper/asm-ocr1
/dev/mapper/asm-ocr2
/dev/mapper/asm-ocr3
/dev/mapper/asm-data1
/dev/mapper/asm-mgmt

单机随机读写——第一次测试

单机8k随机读写7:3 duration 60

/root/orion_linux_x86  -run advanced  -num_large 0 -size_small 8 -type rand -simulate raid0  -write 30 -duration 60 -matrix row -testname disktest 

测试结果如下:

#cat disktest_20210120_1531_summary.txt
ORION VERSION 11.1.0.7.0

Commandline:
-run advanced -num_large 0 -size_small 8 -type rand -simulate raid0 -write 30 -duration 60 -matrix row -testname disktest

This maps to this test:
Test: disktest
Small IO size: 8 KB
Large IO size: 1024 KB
IO Types: Small Random IOs, Large Random IOs
Simulated Array Type: RAID 0
Stripe Depth: 1024 KB
Write: 30%
Cache Size: Not Entered
Duration for each Data Point: 60 seconds
Small Columns:,      0,      1,      2,      3,      4,      5,      6,      7,      8,      9,     10,     11,     12,     13,     14,     15,     16,     17,     18,     19,    20,     21,     22,     23,     24,     25
Large Columns:,      0
Total Data Points: 26

Name: /dev/mapper/asm-ocr1      Size: 21474836480
Name: /dev/mapper/asm-ocr2      Size: 21474836480
Name: /dev/mapper/asm-ocr3      Size: 21474836480
Name: /dev/mapper/asm-data1     Size: 1181116006400
Name: /dev/mapper/asm-mgmt      Size: 107374182400
5 FILEs found.

Maximum Small IOPS=84295 @ Small=25 and Large=0
Minimum Small Latency=0.21 @ Small=1 and Large=0

结果分析如下:

测试用时28min

单次随机8k读写7:3

最大iops 84295

最小latency 0.21

单机随机读写——第二次测试

单机8k随机读写7:3 duration120

/root/orion_linux_x86  -run advanced  -num_large 0 -size_small 8 -type rand -simulate raid0  -write 30 -duration 120 -matrix row -testname disktest

测试结果如下:

ORION VERSION 11.1.0.7.0

Commandline:
-run advanced -num_large 0 -size_small 8 -type rand -simulate raid0 -write 30 -duration 120 -matrix row -testname disktest

This maps to this test:
Test: disktest
Small IO size: 8 KB
Large IO size: 1024 KB
IO Types: Small Random IOs, Large Random IOs
Simulated Array Type: RAID 0
Stripe Depth: 1024 KB
Write: 30%
Cache Size: Not Entered
Duration for each Data Point: 120 seconds
Small Columns:,      0,      1,      2,      3,      4,      5,      6,      7,      8,      9,     10,     11,     12,     13,     14,     15,     16,     17,     18,     19,    20,     21,     22,     23,     24,     25
Large Columns:,      0
Total Data Points: 26

Name: /dev/mapper/asm-ocr1      Size: 21474836480
Name: /dev/mapper/asm-ocr2      Size: 21474836480
Name: /dev/mapper/asm-ocr3      Size: 21474836480
Name: /dev/mapper/asm-data1     Size: 1181116006400
Name: /dev/mapper/asm-mgmt      Size: 107374182400
5 FILEs found.

Maximum Small IOPS=84419 @ Small=25 and Large=0
Minimum Small Latency=0.14 @ Small=1 and Large=0

结果分析如下:

测试用时61min

单次随机8k读写7:3

最大iops 84419

最小latency 0.14

双机随机读写——第一次测试

双机随机8k读写7:3 duration 60

[root@rac1 /root/disktest]
#/root/orion_linux_x86  -run advanced  -num_large 0 -size_small 8 -type rand -simulate raid0  -write 30 -duration 60 -matrix row -testname disktest
ORION: ORacle IO Numbers -- Version 11.1.0.7.0
disktest_20210122_1355
Test will take approximately 27 minutes
Larger caches may take longer

[root@rac2 /root/disktest]
#/root/orion_linux_x86  -run advanced  -num_large 0 -size_small 8 -type rand -simulate raid0  -write 30 -duration 60 -matrix row -testname disktest
ORION: ORacle IO Numbers -- Version 11.1.0.7.0
disktest_20210122_1354
Test will take approximately 27 minutes
Larger caches may take longerTest will take approximately 27 minutes
Larger caches may take longer 

测试结果如下:

**节点1:**
[root@rac1 /root/disktest]
#cat disktest_20210122_1355_summary.txt
ORION VERSION 11.1.0.7.0

Commandline:
-run advanced -num_large 0 -size_small 8 -type rand -simulate raid0 -write 30 -duration 60 -matrix row -testname disktest

This maps to this test:
Test: disktest
Small IO size: 8 KB
Large IO size: 1024 KB
IO Types: Small Random IOs, Large Random IOs
Simulated Array Type: RAID 0
Stripe Depth: 1024 KB
Write: 30%
Cache Size: Not Entered
Duration for each Data Point: 60 seconds
Small Columns:,      0,      1,      2,      3,      4,      5,      6,      7,      8,      9,     10,     11,     12,     13,     14,     15,     16,     17,     18,     19,    20,     21,     22,     23,     24,     25
Large Columns:,      0
Total Data Points: 26

Name: /dev/mapper/asm-ocr1      Size: 21474836480
Name: /dev/mapper/asm-ocr2      Size: 21474836480
Name: /dev/mapper/asm-ocr3      Size: 21474836480
Name: /dev/mapper/asm-data1     Size: 1181116006400
Name: /dev/mapper/asm-mgmt      Size: 107374182400
5 FILEs found.

Maximum Small IOPS=72503 @ Small=25 and Large=0
Minimum Small Latency=0.15 @ Small=1 and Large=0


**节点2:**
[root@rac2 /root/disktest]
#cat disktest_20210122_1354_summary.txt
ORION VERSION 11.1.0.7.0

Commandline:
-run advanced -num_large 0 -size_small 8 -type rand -simulate raid0 -write 30 -duration 60 -matrix row -testname disktest

This maps to this test:
Test: disktest
Small IO size: 8 KB
Large IO size: 1024 KB
IO Types: Small Random IOs, Large Random IOs
Simulated Array Type: RAID 0
Stripe Depth: 1024 KB
Write: 30%
Cache Size: Not Entered
Duration for each Data Point: 60 seconds
Small Columns:,      0,      1,      2,      3,      4,      5,      6,      7,      8,      9,     10,     11,     12,     13,     14,     15,     16,     17,     18,     19,    20,     21,     22,     23,     24,     25
Large Columns:,      0
Total Data Points: 26

Name: /dev/mapper/asm-ocr1      Size: 21474836480
Name: /dev/mapper/asm-ocr2      Size: 21474836480
Name: /dev/mapper/asm-ocr3      Size: 21474836480
Name: /dev/mapper/asm-data1     Size: 1181116006400
Name: /dev/mapper/asm-mgmt      Size: 107374182400
5 FILEs found.

Maximum Small IOPS=61630 @ Small=25 and Large=0
Minimum Small Latency=0.15 @ Small=1 and Large=0

结果分析如下:

测试用时35min

双机单次随机8k读写7:3

节点1:

最大iops 72503

最小latency 0.15

节点2:

最大iops 61630

最小latency 0.15

双机随机读写——第二次测试

双机随机8k读写7:3 duration 120

[root@rac1 /root/disktest]
#/root/orion_linux_x86  -run advanced  -num_large 0 -size_small 8 -type rand -simulate raid0  -write 30 -duration 120 -matrix row -testname disktest
ORION: ORacle IO Numbers -- Version 11.1.0.7.0
disktest_20210122_1425
Test will take approximately 53 minutes
Larger caches may take longer

[root@rac2 /root/disktest]
#/root/orion_linux_x86  -run advanced  -num_large 0 -size_small 8 -type rand -simulate raid0  -write 30 -duration 120 -matrix row -testname disktest
ORION: ORacle IO Numbers -- Version 11.1.0.7.0
disktest_20210122_1424
Test will take approximately 53 minutes
Larger caches may take longer

测试结果如下:

**节点1:**
[root@rac1 /root/disktest]
#cat disktest_20210122_1425_summary.txt
ORION VERSION 11.1.0.7.0

Commandline:
-run advanced -num_large 0 -size_small 8 -type rand -simulate raid0 -write 30 -duration 120 -matrix row -testname disktest

This maps to this test:
Test: disktest
Small IO size: 8 KB
Large IO size: 1024 KB
IO Types: Small Random IOs, Large Random IOs
Simulated Array Type: RAID 0
Stripe Depth: 1024 KB
Write: 30%
Cache Size: Not Entered
Duration for each Data Point: 120 seconds
Small Columns:,      0,      1,      2,      3,      4,      5,      6,      7,      8,      9,     10,     11,     12,     13,     14,     15,     16,     17,     18,     19,    20,     21,     22,     23,     24,     25
Large Columns:,      0
Total Data Points: 26

Name: /dev/mapper/asm-ocr1      Size: 21474836480
Name: /dev/mapper/asm-ocr2      Size: 21474836480
Name: /dev/mapper/asm-ocr3      Size: 21474836480
Name: /dev/mapper/asm-data1     Size: 1181116006400
Name: /dev/mapper/asm-mgmt      Size: 107374182400
5 FILEs found.

Maximum Small IOPS=72635 @ Small=25 and Large=0
Minimum Small Latency=0.15 @ Small=1 and Large=0


**节点2:**
[root@rac2 /root/disktest]
#cat disktest_20210122_1424_summary.txt
ORION VERSION 11.1.0.7.0

Commandline:
-run advanced -num_large 0 -size_small 8 -type rand -simulate raid0 -write 30 -duration 120 -matrix row -testname disktest

This maps to this test:
Test: disktest
Small IO size: 8 KB
Large IO size: 1024 KB
IO Types: Small Random IOs, Large Random IOs
Simulated Array Type: RAID 0
Stripe Depth: 1024 KB
Write: 30%
Cache Size: Not Entered
Duration for each Data Point: 120 seconds
Small Columns:,      0,      1,      2,      3,      4,      5,      6,      7,      8,      9,     10,     11,     12,     13,     14,     15,     16,     17,     18,     19,    20,     21,     22,     23,     24,     25
Large Columns:,      0
Total Data Points: 26

Name: /dev/mapper/asm-ocr1      Size: 21474836480
Name: /dev/mapper/asm-ocr2      Size: 21474836480
Name: /dev/mapper/asm-ocr3      Size: 21474836480
Name: /dev/mapper/asm-data1     Size: 1181116006400
Name: /dev/mapper/asm-mgmt      Size: 107374182400
5 FILEs found.

Maximum Small IOPS=55397 @ Small=25 and Large=0
Minimum Small Latency=0.15 @ Small=1 and Large=0

结果分析如下:

测试用时62min

双机单次随机8k读写7:3

节点1:

最大iops 72635

最小latency 0.15

节点2:

最大iops 55397

最小latency 0.15

 类似资料: