orion使用的一些理解

westzq1984發表於2013-10-22
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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章