欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle压力测试工具ORION

程序员文章站 2022-05-26 10:26:01
...

ORION (Oracle I/O Calibration Tool) 是校准用于 Oracle 数据库的存储系统 I/O 性能的独立工具。校准结果对于了解存储系统的性能

1,功能简介

ORION (Oracle I/O Calibration Tool) 是校准用于 Oracle 数据库的存储系统 I/O 性能的独立工具。校准结果对于了解存储系统的性能有很大帮助,不仅可以找出影响 Oracle 数据库性能的问题,还能测量新数据库安装的大小。由于 ORION 是一个独立工具,用户不需要创建和运行 Oracle 数据库。

为了尽可能地模拟 Oracle 数据库,ORION 使用和 Oracle 相同的 I/O 软件集生成一个合成的 I/O 负载。可以将 ORION 配置为生成很多 I/O 负载,包括一个模拟 OLTP 和数据仓库负载的 I/O 负载。

ORION 支持多种平台。将来还会增加对更多平台的支持。用户指南提供详细的使用文档,包括“入门”部分和疑难解答提示。在 ORION 中调用“-help”选项可以直接获取关于如何使用 ORION 的摘要。

2,简单使用过程
下载地址

运行安装
gunzip orion_linux_x86-64

运行测试
生成mytest.lun文件
/dev/mapper/mpath7p1
/dev/mapper/mpath8p1

运行命令
./orion_linux_x86-64 -run simple -testname mytest -num_disks 2

其它方式的命令可以寻求帮助
./orion_linux_x86-64 -help

3,,测试结果
[root@ tmp]# cat mytest_20120629_1519_summary.txt
ORION VERSION 11.1.0.7.0

Commandline:
-run simple -testname mytest -num_disks 2

This maps to this test:
Test: mytest
Small IO size: 8 KB
Large IO size: 1024 KB
IO Types: Small Random IOs, Large Random IOs
Simulated Array Type: CONCAT
Write: 0%
Cache Size: Not Entered
Duration for each Data Point: 60 seconds
Small Columns:, 0
Large Columns:, 0, 1, 2, 3, 4
Total Data Points: 15

Name: /dev/mapper/mpath7p1 Size: 536869863424
Name: /dev/mapper/mpath8p1 Size: 536869863424
2 FILEs found.

Maximum Large MBPS=183.53 @ Small=0 and Large=4
Maximum Small IOPS=851 @ Small=10 and Large=0
Minimum Small Latency=11.38 @ Small=3 and Large=0


4,结果比较分析
在压力测试的同时,通过IOSTAT命令也可以简单计算数值,由于采样原因,最大值稍有不同。

IOPS = [dm-13]r/s + [dm-14]r/s + [dm-13]w/s + [dm-14]w/s IOSTAT最大422+424=846
MBPS = ([dm-13]rsec/s + [dm-14]rsec/s)/2/1024 = rMB/s + wMB/s IOSTAT最大94+92=186MBPS
Latency = await 基本11秒左右
[root@ mapper]# iostat -d -x 1 30|grep dm-1[3,4]
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
dm-13 0.00 0.00 25.50 0.00 3386.05 0.00 132.77 0.32 12.57 4.45 11.35
dm-14 0.00 0.00 25.56 0.00 3426.57 0.00 134.04 0.32 12.60 4.44 11.36
dm-13 0.00 0.00 339.00 0.00 5424.00 0.00 16.00 4.01 11.86 2.95 100.10
dm-14 0.00 0.00 328.00 0.00 5248.00 0.00 16.00 3.97 12.00 3.02 99.20
dm-13 0.00 0.00 364.00 0.00 5824.00 0.00 16.00 4.20 11.43 2.74 99.70
dm-14 0.00 0.00 325.00 0.00 5200.00 0.00 16.00 3.78 11.72 3.05 99.10
dm-13 0.00 0.00 340.00 0.00 5440.00 0.00 16.00 3.94 11.64 2.94 99.80
dm-14 0.00 0.00 355.00 0.00 5680.00 0.00 16.00 4.02 11.36 2.82 100.20

[root@ host8]# iostat -d -xm 1 30|grep dm-1[3,4]
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util
dm-13 0.00 0.00 341.00 0.00 2.66 0.00 16.00 4.07 11.90 2.93 99.80
dm-14 0.00 0.00 343.00 0.00 2.68 0.00 16.00 3.90 11.35 2.92 100.10
dm-13 0.00 0.00 330.00 0.00 2.58 0.00 16.00 3.92 11.89 3.01 99.40
dm-14 0.00 0.00 360.00 0.00 2.81 0.00 16.00 4.04 11.29 2.73 98.40
dm-13 0.00 0.00 342.00 0.00 2.67 0.00 16.00 4.09 12.08 2.90 99.30
dm-14 0.00 0.00 352.00 0.00 2.75 0.00 16.00 3.87 10.89 2.82 99.40
dm-13 0.00 0.00 345.54 0.00 2.70 0.00 16.00 3.98 11.48 2.87 99.21
dm-14 0.00 0.00 336.63 0.00 2.63 0.00 16.00 3.92 11.61 2.92 98.42
dm-13 0.00 0.00 352.00 0.00 2.75 0.00 16.00 3.96 11.23 2.83 99.50
dm-14 0.00 0.00 344.00 0.00 2.69 0.00 16.00 3.98 11.62 2.89 99.30
dm-13 0.00 0.00 179.00 0.00 89.50 0.00 1024.00 3.74 20.88 5.20 93.13
dm-14 0.00 0.00 189.60 0.00 94.80 0.00 1024.00 3.84 20.27 4.96 94.07
dm-13 0.00 0.00 188.20 0.00 94.10 0.00 1024.00 3.84 20.42 4.98 93.68
dm-14 0.00 0.00 185.20 0.00 92.60 0.00 1024.00 3.75 20.27 5.01 92.79
dm-13 0.00 0.00 180.00 0.00 90.00 0.00 1024.00 3.70 20.55 5.07 91.17
dm-13 0.00 0.00 441.40 0.00 3.45 0.00 16.00 5.13 11.62 2.26 99.91
dm-14 0.00 0.00 415.20 0.00 3.24 0.00 16.00 4.82 11.60 2.41 99.92
dm-13 0.00 0.00 422.70 0.00 3.30 0.00 16.00 4.93 11.66 2.36 99.89
dm-14 0.00 0.00 424.80 0.00 3.32 0.00 16.00 5.02 11.81 2.35 99.83
dm-13 0.00 0.00 426.80 0.00 3.33 0.00 16.00 4.99 11.69 2.34 99.92
dm-14 0.00 0.00 419.90 0.00 3.28 0.00 16.00 4.96 11.80 2.38 100.00


rrqm/s: 每秒进行 merge 的读操作数目。即 delta(rmerge)/s
wrqm/s: 每秒进行 merge 的写操作数目。即 delta(wmerge)/s
r/s: 每秒完成的读 I/O 设备次数。即 delta(rio)/s
w/s: 每秒完成的写 I/O 设备次数。即 delta(wio)/s
rsec/s: 每秒读扇区数。即 delta(rsect)/s
wsec/s: 每秒写扇区数。即 delta(wsect)/s
rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。
wkB/s: 每秒写K字节数。是 wsect/s 的一半。
avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。即 delta(rsect+wsect)/delta(rio+wio)
avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。
await: 平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
svctm: 平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio)
%util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。
即 delta(use)/s/1000 (因为use的单位为毫秒

备注:
IO的映射可以通过如下命令获得。mpath8即为dm-14
multipath -ll

mpath8 (360050768018086462800000000000055) dm-14 IBM,2145
[size=500G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=100][active]
\_ 9:0:0:9 sdak 66:64 [active][ready]
\_ 8:0:0:9 sdk 8:160 [active][ready]
\_ round-robin 0 [prio=20][enabled]
\_ 9:0:1:9 sdax 67:16 [active][ready]
\_ 8:0:1:9 sdx 65:112 [active][ready]
mpath7 (360050768018086462800000000000054) dm-13 IBM,2145
[size=500G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=100][active]
\_ 9:0:1:8 sdaw 67:0 [active][ready]
\_ 8:0:1:8 sdw 65:96 [active][ready]
\_ round-robin 0 [prio=20][enabled]
\_ 9:0:0:8 sdaj 66:48 [active][ready]
\_ 8:0:0:8 sdj 8:144 [active][ready]

Oracle压力测试工具ORION