首页 > 数据库 > Oracle > Oracle ORION模拟Database负载测试存储性能

Oracle ORION模拟Database负载测试存储性能

Oracle 作者:monkeybron 时间:2016-01-05 09:29:56 0 删除 编辑
    Oracle ORION(Oracle IO Number)是Oracle提供的存储性能测试工具,Oracle并不对其提供技术支持。该工具的最大特点在于可以在没安装Oracle Database软件的情况下,模拟Oracle负载,测试随机或顺序访问指定大小块的性能,性能指标包括:IOPS,MBPS,Latency(延迟时间)。
   从Oracle Database 11g开始,ORION工具被集成到GI和Database软件中,所以在$GI_HOME/bin和$ORACLE_HOME/bin目录下都可以找到这个工具。如果是Oracle Database 10gR2需要手动下载ORION工具。

[root@rhel1 ~]#cd /u01/app/11.2.0/grid/bin
[root@rhel1 bin]# ./orion -help
ORION: ORacle IO Numbers -- Version

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 a test for a specific mix of small and large 
IO loads sustained for a duration.  An Orion test consists of multiple 
data point tests.  These data point tests can be represented as a 
two-dimensional matrix.  Each column in the matrix represents data 
point tests with the same small IO load, but varying large IO loads.  
Each row represents data point tests with the same large IO load, but 
varying small IO loads.  An Orion test can be for a single point, a 
single row, a single 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 the prefix used for all input and output filenames.  By
default, it is 'orion'.  It can be specified with the 'testname' 

<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 
                                 the minimum small IO latency (in usecs), the maximum 
                                 MBPS, and the maximum IOPS observed. 
<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 in microseconds.
<testname>_<date>_hist.csv - Histogram of IO latencies.
<testname>_<date>_trace.txt - Extended, unprocessed output.


Mandatory parameters:
run                     Type of workload to run (simple, normal, advanced, dss, oltp).
                          simple   - Tests random small (8K) IOs at various loads,
                                     then random large (1M) IOs at various loads.
                          normal   - Tests combinations of random small (8K) IOs and 
                                     random large (1M) IOs.
                          advanced - Tests the workload specified by the user 
                                     using optional parameters.
                          dss      - Tests with random large (1M) IOs at increasing 
                                     loads to determine the maximum throughput.
                          oltp     - Tests with random small (8K) IOs at increasing 
                                     loads to determine the maximum IOPS.

simple   在可变负载的情况下测试随机小IO(8K),然后再在可变负载的情况下测试随机大IO(1M)的性能。
normal   测试随机小IO(8K)和随机大IO(1M)的性能。
advanced 通过使用可选的参数自定义负载情况。
dss      在负载不断增加的情况下测试随机大IO(1M),找出最大的吞吐量。
oltp     在负载不断增加的情况下测试随机小IO(8K),找出最大的IOPS值。

Optional parameters:
testname                Name of the test run.

num_disks               Number of disks (physical spindles).  This number is 
                        used to gauge the range of loads that Orion should test 
                        at.  Increasing this parameter results in Orion using 
                        heavier IO loads.  Default is the number of LUNs in 

size_small              Size of small IOs in KB.  Default is 8. 默认8K。

size_large              Size of large IOs in KB.  Default is 1024.默认1024K。

type                    Type of large IOs (rand, seq).  Default is rand.
                          rand - Randomly distributed large IOs.
                          seq  - Sequential streams of large IOs.

num_streamIO            Number of concurrent IOs per stream.  This parameter is only 
                        used if -type is seq.  Default is 4.

simulate                Orion tests on a virtual LUN formed by combining the
                        specified LUNs in one of these ways.  This parameter is 
                        typically only used if -type is seq.  Default is concat.
                          concat - A serial concatenation of the LUNs.  Each 
                                   sequential stream issues IOs to only one LUN. 
                          raid0  - A RAID-0 mapping across the LUNs.  Each 
                                   sequential stream issues IOs across all LUNs, 
                                   using RAID-0 striping.

write                   Percentage of IOs that are writes (SEE WARNING ABOVE).
                        Default is 0.

cache_size              Size in MBs of the array's cache.
                        Unless this option is set to 0, Orion issues a number
                        of unmeasured, random IOs before each large sequential
                        data point.  These IOs fill up the storage array's cache
                        (if any) with random data so that IOs 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 performed until
                        cache_size MBs of IO have been read or written.
                        Default behavior is to issue 2 minutes of unmeasured random 
                        IOs before each data point.

duration                Duration of each data point in seconds.  Default is 60.

num_small               Number of outstanding small IOs.  This parameter controls the 
                        small IO load.  Only used if -matrix is point, col, or max.  
                        No default.

num_large               This parameter controls the large IO load.
                        For -type rand, number of outstanding large IOs.
                        For -type seq, number of sequential IO streams.  Only used 
                        if -matrix is point, row, or max.  No default.

matrix                  An Orion test consists of multiple data point tests.  These data 
                        point tests can be represented as a two-dimensional matrix. 
                        Each column in the matrix represents data point tests with 
                        the same small IO load, but varying large IO loads.  Each 
                        row represents data point tests with the same large IO load, 
                        but varying small IO loads.  An Orion test can be for a 
                        single point, a single row, a single column, or the whole 
                        matrix, depending on the matrix option setting below. 
                        Default is basic.
                          basic    - Test small IOs only, then large IOs only.
                          detailed - Test entire matrix.
                          point    - Test with num_small small IOs, num_large large 
                          col      - Test a varying large IO load with num_small 
                                     small IOs.
                          row      - Test a varying small IO load with num_large 
                                     large IOs.
                          max      - Test varying loads up to the num_small and 
                                     num_large limits.

verbose                 Prints tracing information to standard output if set.
                        Not set by default.

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 RAID0 striping
        -run advanced 
        -simulate RAID0 -write 100 -type seq
        -matrix col -num_small 0





[root@rhel1 ~]# /u01/app/11.2.0/grid/bin/orion -run simple
ORION: ORacle IO Numbers -- Version
Calibration will take approximately 9 minutes.
Using a large value for -cache_size may take longer.

Maximum Large MBPS=35.13 @ Small=0 and Large=2

Maximum Small IOPS=86 @ Small=5 and Large=0
Small Read Latency: avg=57862 us, min=12943 us, max=270920 us, std dev=25577 us @ Small=5 and Large=0


Minimum Small Latency=15313 usecs @ Small=1 and Large=0
Small Read Latency: avg=15313 us, min=726 us, max=231989 us, std dev=24119 us @ Small=1 and Large=0

Small Read / Write Latency Histogram @ Small=5 and Large=0 
        Latency:                # of IOs (read)          # of IOs (write) 
        0 - 1           us:             0                       0
        2 - 4           us:             0                       0
        4 - 8           us:             0                       0
        8 - 16          us:             0                       0
       16 - 32          us:             0                       0
       32 - 64          us:             0                       0
       64 - 128         us:             0                       0
      128 - 256         us:             0                       0
      256 - 512         us:             0                       0
      512 - 1024        us:             14                      0
     1024 - 2048        us:             21                      0
     2048 - 4096        us:             257                     0
     4096 - 8192        us:             1220                    0
     8192 - 16384       us:             1994                    0
    16384 - 32768       us:             82                      0
    32768 - 65536       us:             158                     0
    65536 - 131072      us:             127                     0
   131072 - 262144      us:             49                      0
   262144 - 524288      us:             0                       0
   524288 - 1048576     us:             0                       0
  1048576 - 2097152     us:             0                       0
  2097152 - 4194304     us:             0                       0
  4194304 - 8388608     us:             0                       0
  8388608 - 16777216    us:             0                       0
 16777216 - 33554432    us:             0                       0
 33554432 - 67108864    us:             0                       0
 67108864 - 134217728   us:             0                       0
134217728 - 268435456   us:             0                       0
大部分的IO延迟都处在8192 - 16384us之间。

[root@rhel1 ~]# ll
total 104
-rw------- 1 root root  1076 Jun 17  2011 anaconda-ks.cfg
-rwxrwxrwx 1 root root   116 May  8  2009
drwxr-xr-x 2 root root  4096 Jun 17  2011 Desktop
-rw-r--r-- 1 root root 33383 Jun 17  2011 install.log
-rw-r--r-- 1 root root  3682 Jun 17  2011 install.log.syslog
-rw-r----- 1 root root   580 Mar 24 00:34 oks.log
drwxr-xr-x 3 root root  4096 May 13  2012 oradiag_root
-rw-r--r-- 1 root root  7004 Apr  7 20:35 orion_20140407_2028_hist.txt 柱状图情况,包括每个数据指针操作期间(默认60秒)的IO延迟柱状图
-rw-r--r-- 1 root root   526 Apr  7 20:35 orion_20140407_2028_iops.csv IOPS情况
-rw-r--r-- 1 root root   554 Apr  7 20:35 orion_20140407_2028_lat.csv 延迟情况
-rw-r--r-- 1 root root   498 Apr  7 20:35 orion_20140407_2028_mbps.csv MBPS情况
-rw-r--r-- 1 root root  1743 Apr  7 20:35 orion_20140407_2028_summary.txt 概要
-rw-r--r-- 1 root root  3242 Apr  7 20:35 orion_20140407_2028_trace.txt 详细的跟踪文件
-rw-r--r-- 1 root root    10 Apr  7 20:04 orion.lun









[root@homeserver /]# time sh -c "dd if=/dev/zero of=dd-test-file bs=8k count=1000000 && sync"
1000000+0 records in
1000000+0 records out
8192000000 bytes (8.2 GB) copied, 139.084 seconds, 58.9 MB/s

real    2m26.057s(表示真实时间
user    0m1.360s
sys     0m24.854s



来自 “ ITPUB博客 ” ,链接:,如需转载,请注明出处,否则将追究法律责任。

上一篇: 11g temp shrink space;
下一篇: ORION学习心得一
请登录后发表评论 登录


  • 博文量
  • 访问量