首页 > 其他 > 详细

使用orion测试存储性能

时间:2014-02-25 14:39:09      阅读:430      评论:0      收藏:0      [点我收藏+]

一、     Orion功能简介

orion是oracle提供的测试IO性能的工具,ORION 是一个独立工具,用户不需要创建和运行 Oracle 数据库。测试工具不需要安装,使用简单,功能强大。

可以通过http://www.oracle.com/technetwork/cn/topics/index-088165-zhs.html下载使用,目前版本是ORION: ORacle IO Numbers -- Version11.1.0.7.0,使用方法这里不再介绍,介绍下涉及压力测试的参数指标,使用以下指标几乎可以测试所有的IO场景

必选参数:
run                     运行的测试类别 (simple, normal, advanced, dss, oltp)

                        simple - tests random8K small IOs at various loads,

                                 then random 1Mlarge IOs at various loads.

                        normal - testscombinations of random 8K small

                                 IOs and random1M large IOs

                        advanced - run theworkload specified by the user

                                   usingoptional parameters

                        dss - run with random1M large IOs at increasing loads

                                to determinethe maximum throughput

                        oltp - run with random8K small IOs at increasing loads

                                to determinethe maximum IOPS

必选参数:

testname                Name of the test run

num_disks               Number of disks (physicalspindles). 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) - default1024
 
type                    Type of large IOs (rand,seq) - default rand

                          rand - Random largeIOs

                          seq -  Sequential streams of large IOs

num_streamIO            Number of concurrent IOs per stream (only iftype is

                        seq) - default 4

simulate                Orion tests on a virtual volumeformed by combining the

                        provided volumes in oneof 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 isset to 0, Orion does a number

                        of (unmeasured) randomIO before each large sequential

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

                        cache with randomdata.  This way, the blocks from one

                        data point do notresult in cache hits for the next

                        data point.  Read tests are preceded with junk reads

                        and write tests arepreceded with junk writes.  If

                        specified, this ‘cachewarming‘ is done until

                        cache_size worth of IOhas been read 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) -no default
 
matrix                  An Orion test consists of data pointsat various small
                        and large IO loadlevels.  These points can be
                       represented as atwo-dimensional matrix: Each column
                        in the matrix representsa fixed small IO load.  Each

                        row represents a fixedlarge IO load.  The first row

                        is with no large IOload and the first column is with

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

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

                        matrix option settingbelow (default basic):

                          basic - test thefirst row and the first column

                          detailed - test the entire 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

运行时的例子

For a preliminaryset of data

        -run simple

For a basic setof data

        -run normal

To evaluatestorage for an OLTP database

        -run oltp

To evaluatestorage for a data warehouse

        -run dss

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

        -run advanced

        -size_small 32 -size_large 1024 -typerand      -matrix detailed

To generatemultiple sequential 1MB write streams, simulating 1MB RAID0 stripes

        -run advanced

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

       -matrix col -num_small 0

输出的文件介绍

<testname>_<date>_summary.txt-  Summary of the input parameters alongwith

                                 min. smalllatency, 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 beachieved at

                                 certain smalllatencies

<testname>_trace.txt- Extended, unprocessed output
 

二、     测试案例

a)      案例1:本地存储和远程存储对比测试

分别在服务器上对wj远程存储的10块盘(简称wj)和dzm本地存储的10块盘(简称dzm)进行读写对比测试,wj的盘通过8gb的传输进行连接,dzm的存储直接通过光纤交换机连接;wj和dzm的存储型号不同,但性能差不多。其中图像的横坐标值为IO并发量

测试服务器配置:IBM X3755 4×8core 128G内存

wj远程测试盘:10个lun ,大小400GB,实际对应存储上80块1T的盘

dzm本地测试盘:10个lun,大小为420GB

测试场景1:分别对wj远程和dzm本地存储使用1M数据块顺序读进行测试,此场景和BI数据库最类似,主要测试MBPS和延时两个指标

MBPSWj存储MBPS可达708MBPS,瓶颈在8gb传输带宽,dzm MBPS可达1550 MBPS,瓶颈在2×8GB的主机HBA卡带宽

bubuko.com,布布扣

IO延迟方面:由于是1M的大数据块读写,并发量越大,延时越严重,wj的延时是dzm的2倍左右。一般要求数据库延时20ms以内,望京5并发时20ms,而东直门3并发时20ms

 bubuko.com,布布扣

前面的测试压力小,没有测出IOPS的瓶颈,使用如下命令再次测试,并发500左右时,IOPS达到16000。测试盘对应DS5100存储80块1.83TB的SATA磁盘,raid5,平均每块盘IOPS为200。测试只使用8K的随机读进行测试

./orion -run advanced -testnamemytest_IOPS_wj -num_disks 100 -write 0 -size_small 8 -size_large 1024 -type seq-matrix row -num_large 0 \

 -verbose -cache_size 16000

 bubuko.com,布布扣

测试场景2:1M数据块的随机读测试MBPS

 

MBPSwj远程测试20并发时500 MBPS,dzm本地盘可达1100 MBPS

 bubuko.com,布布扣

测试场景38k数据块测试存储IOPS和延迟

IOPS并发50时,dzm本地IOPS可达8000,而远程基本是本地的一半,4000IOPS。按照趋势,IOPS还未测试到瓶颈。

bubuko.com,布布扣

延迟在8k随机读场景下,本地延迟为6ms,远程为13ms

bubuko.com,布布扣

b)     测试服务器本地磁盘

测试场景1:测试本地8块1TB的SATA磁盘

使用命令:./orion -run simple-testname mytest -num_disks 8

 

IOPS为3100左右,平均每块盘400左右,比实际值要大一些,应该和磁盘的cache有关

bubuko.com,布布扣

MBPS为343,每块盘343/8=43MBPS,和文章中的数据基本一致

bubuko.com,布布扣

使用orion测试存储性能

原文:http://blog.csdn.net/hijk139/article/details/19827465

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!