使用orion测试存储性能
来源:互联网 发布:网络推广专员做什么 编辑:程序博客网 时间:2024/04/30 21:24
一、 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 runnum_disks Number of disks (physicalspindles). Default is the number of LUNs in<testname>.lunsize_small Size of small IOs (in KB) -default 8size_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 IOsnum_streamIO Number of concurrent IOs per stream (only iftype is seq) - default 4simulate 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 volumeswrite Percentage of writes (SEEWARNING ABOVE) - default 0cache_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 60num_small Number of outstanding small IOs(only if matrix is point, col, or max) - no defaultnum_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_largeverbose Prints tracing information tostandard output if set. Default -- not set运行时的例子For a preliminaryset of data -run simpleFor a basic setof data -run normalTo evaluatestorage for an OLTP database -run oltpTo evaluatestorage for a data warehouse -run dssTo generatecombinations of 32KB and 1MB reads to random locations: -run advanced -size_small 32 -size_large 1024 -typerand -matrix detailedTo 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和延时两个指标
MBPS:Wj存储MBPS可达708MBPS,瓶颈在8gb传输带宽,dzm MBPS可达1550 MBPS,瓶颈在2×8GB的主机HBA卡带宽
IO延迟方面:由于是1M的大数据块读写,并发量越大,延时越严重,wj的延时是dzm的2倍左右。一般要求数据库延时20ms以内,wj5并发时20ms,而dzm3并发时20ms
前面的测试压力小,没有测出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
测试场景2:1M数据块的随机读测试MBPS
MBPS:wj远程测试20并发时500 MBPS,dzm本地盘可达1100 MBPS
测试场景3:8k数据块测试存储IOPS和延迟
IOPS:并发50时,dzm本地IOPS可达8000,而远程基本是本地的一半,4000IOPS。按照趋势,IOPS还未测试到瓶颈。
延迟:在8k随机读场景下,本地延迟为6ms,远程为13ms
b) 测试服务器本地磁盘
测试场景1:测试本地8块1TB的SATA磁盘
使用命令:./orion -run simple-testname mytest -num_disks 8
IOPS为3100左右,平均每块盘400左右,比实际值要大一些,应该和磁盘的cache有关
MBPS为343,每块盘343/8=43MBPS,和文章中的数据基本一致
- 使用orion测试存储性能
- 关于Oracle orion存储性能测试工具
- 使用orion测试SSD的性能
- ORION - 免费的IO性能测试工具
- Oracle ORION:存储系统性能测试工具
- Orion测试io性能的工具
- oracle orion测试工具的使用
- Orion - oracle提供的测试io性能的工具
- oracle orion —— 测试io性能的工具!
- 【转】Orion - oracle提供的测试io性能的工具
- 使用dbms_profiler包测试存储过程性能
- 使用dbms_profiler包测试存储过程性能
- 使用dbms_profiler包测试存储过程性能
- Oracle Orion使用
- IO测试软件–orion
- Oracle ORION IO 测试工具
- Oracle ORION IO 测试工具
- Oracle IO 测试工具ORION
- git remote
- Sqoop安装及操作以及oozie&sqoop
- [ACM] hdu 2141 Can you find it? (二分查找)
- Cocos2dx 创建屏蔽层 2.x
- 谈Objective-C Block的实现
- 使用orion测试存储性能
- 字符串的驻留(String Interning)
- 25 Apache Interview Questions for Beginners and Intermediates
- STM32F10X_XX宏定义的选择
- ajax get jsonp
- unix高级环境编程(第12章高级终端)
- ChinaExcel报表平台搭建(三动态查询)
- 程序员应该熟练掌握这些算法
- win7环境下cocos2d-x 2.2.2和Visual studio2010搭建游戏开发环境