orion是一个 oracle提供的IO性能测试工具,其可以模拟数据库的各种IO压力特点,对磁盘进行压力测试
如:
1.随机small IO:索引扫描时的IO
2.随机large IO:由于条带化,一个连续的读写扩展到多个磁盘上。因此,在磁盘的这个层次上,许多的连续的读写被看作随机的1M的IO,又被称作多用户的连续IO。
3.连续large IO:数据装载,备份,恢复时,并行查询时产生的IO,各个子进程可以协调,从而是连续IO
4.混合负载
orion支持各种方式连接到主机的存储,到注意,NAS上的IO性能依赖于文件指定的IO模式,所以在运行orion前,必须初始化文件属性
先来看一下orion生成的结果
分为3个文件,分别为收集的3种磁盘IO指标 mbps / latency / iops
每个文件的内容为一个n*m的矩阵,其中,横坐标代表有多少个进程在进行small IO,竖坐标代表有多少个进程在进行large IO
如果横坐标为4,输坐标为10,这表示在10个进程进行large IO的同时,在有4个进程进行small IO的条件下,磁盘读取数据可以达到475MB/s
-----------
mbps
-----------
Large/Small, 0, 1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50
1, 53.34, 52.70, 54.12, 51.33, 53.32, 56.67, 55.26, 54.10, 55.62, 58.55, 61.64, 65.43, 63.51, 68.05, 66.74, 67.41, 66.21, 67.86, 65.59, 62.75, 67.84, 67.75, 66.06, 66.68, 68.02, 66.24, 71.22
2, 108.79, 110.39, 109.66, 112.35, 108.78, 113.61, 118.89, 105.28, 120.65, 121.51, 117.50, 121.39, 110.94, 126.20, 123.99, 128.49, 127.75, 128.74, 136.13, 131.63, 129.07, 140.38, 129.41, 118.91, 122.33, 120.12, 116.42
3, 152.09, 141.15, 142.49, 142.56, 144.16, 141.43, 141.33, 138.48, 139.65, 128.08, 138.00, 140.93, 140.07, 132.47, 143.46, 150.43, 152.35, 150.23, 163.05, 161.80, 163.20, 156.39, 156.56, 171.42, 168.95, 165.82, 180.30
4, 218.62, 229.03, 222.00, 233.82, 229.42, 232.05, 229.79, 226.38, 234.04, 255.37, 253.02, 232.71, 235.74, 242.47, 222.39, 227.63, 218.45, 217.34, 207.66, 207.81, 207.01, 206.31, 211.40, 205.55, 210.51, 206.84, 204.63
5, 240.10, 252.38, 250.26, 246.19, 238.12, 222.84, 233.95, 225.45, 226.21, 228.12, 226.05, 248.85, 231.38, 239.27, 226.71, 213.34, 217.46, 204.29, 208.49, 184.14, 208.14, 202.38, 209.86, 220.23, 232.94, 242.35, 242.72
6, 289.62, 296.16, 303.97, 312.65, 329.22, 352.63, 347.24, 346.26, 342.65, 348.49, 341.96, 352.19, 332.42, 282.71, 304.73, 300.54, 308.47, 317.76, 302.51, 335.26, 348.47, 361.89, 350.42, 350.24, 374.72, 386.10, 352.83
7, 420.52, 415.14, 427.51, 421.75, 412.71, 427.29, 444.40, 407.27, 394.96, 383.06, 357.16, 357.87, 313.36, 262.51, 285.59, 267.40, 276.33, 261.91, 273.34, 306.02, 325.58, 263.64, 290.22, 280.95, 311.77, 305.58, 267.92
8, 291.15, 359.10, 369.67, 384.88, 372.31, 359.87, 358.25, 383.44, 364.67, 378.61, 331.21, 329.73, 348.25, 350.72, 315.03, 324.98, 354.47, 398.07, 406.95, 420.47, 417.56, 462.95, 480.18, 486.96, 502.24, 505.58, 515.94
9, 577.22, 609.23, 653.09, 716.55, 788.51, 713.01, 660.05, 630.15, 621.46, 663.65, 646.63, 560.43, 538.13, 549.49, 518.55, 509.07, 519.12, 466.50, 447.19, 442.53, 448.25, 436.06, 422.45, 413.16, 425.77, 415.34, 414.42
10, 423.07, 426.47, 440.08, 475.27, 449.22, 524.50, 527.37, 540.45, 556.34, 604.05, 618.32, 642.24, 616.11, 654.97, 701.08, 668.51, 729.47, 831.31, 884.49, 894.22, 921.60, 925.05, 930.68, 924.68, 931.29, 932.56, 850.17
11, 900.42, 945.21, 866.63, 871.25, 835.04, 881.25, 901.88, 858.44, 874.23, 830.40, 809.72, 763.25, 693.92, 787.24, 756.84, 736.33, 766.44, 764.31, 795.54, 699.78, 641.47, 616.62, 565.84, 491.59, 513.17, 522.99, 520.53
12, 522.64, 530.26, 487.21, 540.63, 519.42, 535.04, 555.07, 477.93, 540.50, 622.31, 607.47, 637.54, 700.37, 704.29, 708.68, 819.76, 854.39, 734.69, 772.95, 797.06, 790.24, 761.24, 762.76, 801.84, 871.64, 876.80, 958.56
13, 1018.09, 909.47, 960.36, 910.96, 853.10, 815.19, 794.13, 819.37, 817.30, 802.58, 784.28, 863.79, 859.72, 910.78, 918.51, 912.28, 938.64, 855.45, 926.76, 962.43, 885.91, 826.47, 754.99, 719.43, 712.88, 705.46, 674.79
14, 678.27, 620.36, 613.90, 574.36, 561.11, 558.34, 532.50, 565.09, 602.19, 610.16, 666.63, 672.71, 610.31, 608.01, 552.97, 571.63, 551.67, 466.96, 503.93, 552.87, 533.35, 512.65, 598.03, 580.63, 620.84, 637.33, 653.12
15, 684.92, 675.35, 735.90, 777.06, 836.12, 895.77, 836.05, 814.06, 837.91, 818.72, 760.23, 820.20, 808.74, 857.04, 836.85, 843.26, 747.87, 792.65, 848.96, 885.68, 909.26, 961.38, 916.33, 950.10, 938.74, 903.22, 897.91
16, 1031.35, 1020.68, 1036.69, 922.67, 870.69, 759.80, 671.74, 682.35, 656.38, 614.64, 626.12, 613.90, 644.87, 620.89, 632.57, 634.28, 589.96, 529.12, 577.52, 539.21, 526.93, 560.05, 586.29, 681.69, 753.05, 742.07, 838.30
17, 929.59, 902.91, 860.27, 930.88, 894.74, 835.62, 906.89, 897.10, 936.51, 872.15, 948.98, 905.93, 927.40, 821.14, 770.11, 763.01, 764.54, 849.93, 905.84, 924.58, 906.55, 931.24, 980.36, 936.55, 931.21, 987.94, 1009.87
18, 909.92, 992.18, 984.87, 1003.69, 922.21, 935.73, 880.61, 833.27, 723.57, 691.56, 664.27, 618.78, 667.16, 600.63, 572.38, 529.99, 499.20, 509.83, 485.61, 514.02, 570.47, 535.45, 451.62, 450.56, 392.27, 384.52, 429.59
19, 521.53, 431.87, 430.08, 426.36, 464.74, 415.95, 453.48, 429.03, 432.89, 379.39, 378.22, 389.33, 436.39, 350.24, 392.30, 357.92, 377.87, 338.43, 412.12, 416.47, 398.94, 475.69, 536.42, 556.77, 630.12, 612.80, 664.78
20, 635.55, 635.09, 655.51, 750.94, 698.53, 656.68, 700.59, 807.43, 772.59, 717.69, 652.85, 541.81, 418.98, 474.41, 497.39, 615.77, 555.88, 560.12, 531.07, 545.35, 529.82, 492.25, 502.57, 524.35, 533.01, 533.53, 565.15
orion命令的参数:
-run
指定orion运行的模式
5种模式:
simple:只测试所有进程都运行small IO时的latency&iops指标,以及所有进程都运行large IO时的mbps
normal:对于3个指标,n*m的矩阵内的组合都进行测试,进行该测试花费时间很长
advanced:自己定制测试方案
dss:只测试large IO的mbps性能
oltp:只测试small IO的latency和iops性能
simple/normal模式下,只能使用cache_size和verbose参数
dss/oltp模式下,不允许使用-type,-matrix,-num_small,-num_large
-testname
测试名,对应的使用那些设备来测试IO的清单文件为.lun
-size_small
测试small IO时,使用多大的块大小测试,可以设置为打算创建数据库的db_block_size
-size_large
测试large IO时,一个连续的IO大小,默认1MB,一般的OS最大IO大小也就是1MB
-type
large IO的类型,随机还是顺序
默认为随机
单一的全表扫描是随机large IO
并行操作可以被看做顺序large IO
-num_streamIO
如果是顺序large IO,那么设置每个进程有多少并发的进程来协调,默认为4,相当于查询加了/*+parallel(a,4)*/
-simulate
如果磁盘底层已经做了条带,指定为concat即可
如果想测试磁盘在OS在做一层条带,如ASM管理这样的,那么可以指定为raid0
-write
写操作占测试IO量的百分比
如果测试读性能指定为0,写性能指定为100,混合性能指定为1-99
-cache_size
由于阵列带有缓存,测试前,可以指定这部分缓存的大小,先填满缓存后在测试
默认为2分钟后在进行测试,先进行2分钟IO以填满缓存
-duration
data point间的间隔时间
默认为1分钟
-num_small
指定测试small IO时,进程个数
-num_large
指定测试large IO时,进程个数
-matrix
使用非simple/normal模式时,希望得到的测试结果形式
basic:等同于run -simple的输出,只是可以更多定制
detailed:等同于run -normal的输出,只是可以更多定制
point:只测给定num_small,num_large这个点的性能
col:只测给定num_small值的那一列的large IO
row:只测给定num_large值的那一行的small IO
max:以num_small,num_large做为横竖坐标的最大值,测试n*m矩阵内所有组合的值
测试需要的时间:
需要测试的组合数量(不包含Point 1) * duration + 写满cache_size需要的时间
测试对于DSS应用,8K的块大小和32块大小IO的差别
可以看到8K的块大小和32K块大小时,大IO的区别
同进程数下,8K时的IO能力要小于32K时的
nohup ./orion_aix_ppc64 -run dss -testname edwtest -size_small 8 -write 0 -verbose &
Large/Small, 0
10, 389.03
20, 658.81
30, 1056.54
40, 1159.53
50, 1176.23
60, 1205.19
70, 1260.18
80, 1234.41
90, 1323.25
100, 1343.68
110, 1265.84
120, 1336.58
130, 1516.99
140, 1572.99
150, 1573.64
nohup ./orion_aix_ppc64 -run dss -testname edwtest -size_small 32 -write 0 -verbose &
Large/Small, 0
10, 292.88
20, 619.54
30, 1100.47
40, 1290.91
50, 1320.32
60, 1394.89
70, 1433.78
80, 1436.86
90, 1431.81
100, 1439.21
110, 1457.71
120, 1427.13
130, 1544.47
140, 1573.04
150, 1573.67
对于OLTP应用,8K的块大小,在进程数较低的时候,有更好的IOPS能力
nohup ./orion_aix_ppc64 -run oltp -testname edwtest -size_small 8 -write 0 -verbose &
Large/Small, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200
0, 2.11, 0.23, 0.28, 0.37, 0.47, 0.56, 0.65, 0.74, 0.84, 0.96, 1.08, 1.14, 1.14, 1.27, 1.46, 1.47, 1.68, 1.80, 1.91, 1.98
Large/Small, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200
0, 4730, 85162, 105832, 107193, 107399, 107347, 107499, 107387, 107509, 104481, 102297, 105088, 113884, 110212, 102907, 109167, 101010, 99936, 99604, 100851
nohup ./orion_aix_ppc64 -run oltp -testname edwtest -size_small 32 -write 0 -verbose &
Large/Small, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200
0, 11.89, 14.67, 12.28, 8.68, 0.87, 0.59, 0.75, 0.85, 0.96, 1.06, 1.16, 1.27, 1.31, 1.39, 1.59, 1.67, 1.62, 1.77, 1.86, 2.01
Large/Small, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200
0, 841, 1362, 2442, 4608, 57182, 101060, 93588, 94461, 93965, 94436, 94466, 94265, 99464, 100374, 94118, 95897, 104975, 101530, 102326, 99457
测试8K块大小的库,同时1000个小IO请求的情况下,latency & IOPS能力
nohup ./orion_aix_ppc64 -run advanced -testname edwtest -simulate raid0 -size_small 8 -write 0 -cache_size 4096 -duration 120 -matrix point -num_large 0 -num_small 1000 -verbose &
Large/Small, 1000
0, 10.05
Large/Small, 1000
0, 99511
测试DBWR写性能,8K块大小,24个DBWR进程的小IO写,基本上12个DBWR写可以达到最大性能
./orion_aix_ppc64 -run advanced -testname edwtest -simulate raid0 -size_small 8 -write 100 -cache_size 4096 -duration 60 -matrix max -num_large 0 -num_small 24 -verbose
Large/Small, 1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24
0, 0.04, 0.05, 0.06, 0.08, 0.10, 0.12, 0.13, 0.15, 0.19, 0.19, 0.19, 0.24, 0.22
Large/Small, 1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24
0, 23762, 40116, 63981, 72905, 76206, 84534, 93717, 92812, 82034, 95840, 104803, 91467, 106666
测试数据装载下的IO写性能,8K块大小,32个数据装载进程,每个进程32个子进程,1个进程就可以基本榨干IO写能力,写入可以达到1400MB
./orion_aix_ppc64 -run advanced -testname edwtest -simulate raid0 -size_small 8 -write 100 -cache_size 4096 -duration 60 -matrix max -num_large 32 -num_small 0 -type seq -num_streamIO 32 -verbose
edw2[/data29/oradata/orion]cat edwtest_20131016_1254_mbps.csv
Large/Small, 0
1, 1403.65
2, 1449.58
3, 1424.38
4, 1474.36
5, 1506.10
6, 1505.86
7, 1497.26
8, 1493.58
9, 1498.55
10, 1506.40
11, 1504.16
12, 1508.21
13, 1504.45
14, 1497.83
15, 1503.92
16, 1498.31
17, 1499.07
18, 1499.43
19, 1501.04
20, 1498.32
21, 1489.79
22, 1493.51
23, 1494.40
24, 1489.32
25, 1499.11
26, 1506.55
27, 1502.51
28, 1500.58
29, 1502.50
30, 1499.29
31, 1498.36
32, 1497.85
一般需要的测试:
大IO的读取能力
nohup ./orion_aix_ppc64 -run dss -testname edwtest -size_small 32 -write 0 -verbose &
小IO的读取能力
nohup ./orion_aix_ppc64 -run oltp -testname edwtest -size_small 8 -write 0 -verbose &
大IO的并行读取能力
./orion_aix_ppc64 -run advanced -testname edwtest -simulate raid0 -size_small 32 -write 0 -cache_size 4096 -duration 60 -matrix max -num_large 32 -num_small 0 -type seq -num_streamIO 32 -verbose
DBWR的写能力
./orion_aix_ppc64 -run advanced -testname edwtest -simulate raid0 -size_small 8 -write 100 -cache_size 4096 -duration 60 -matrix max -num_large 0 -num_small 24 -verbose
并行写的能力
./orion_aix_ppc64 -run advanced -testname edwtest -simulate raid0 -size_small 32 -write 100 -cache_size 4096 -duration 60 -matrix max -num_large 32 -num_small 0 -type seq -num_streamIO 32 -verbose
混合能力 8K块大小
nohup ./orion_aix_ppc64 -run normal -testname edwtest -verbose &
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8242091/viewspace-774773/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8242091/viewspace-774773/