oracle提供的IO测试工具
下载地址
http://www.oracle.com/technetwork/cn/topics/index-088165-zhs.html
ORION (Oracle I/O Calibration Tool) 是校准用于 Oracle 数据库的存储系统 I/O 性能的独立工具。校准结果对于了解存储系统的性能有很大帮助,不仅可以找出影响 Oracle 数据库性能的问题,还能测量新数据库安装的大小。由于 ORION 是一个独立工具,用户不需要创建和运行 Oracle 数据库
Orion可以支持下列IO负载
1. 小的随机的IO:OLTP的应用主要是随机的读写,大小和数据的块大小一样(一般是8K)。这样的应用主要是关注的吞吐量是IOPS和一个请求的平均延时时间。Orion可以仿真一个随机IO负载。指定的读写百分比,指定的IO大小,指定的IOs,IOs是分布在不同的磁盘上。
2. 大的连续的IO:数据仓库的应用,数据装载,备份,和恢复会产生连续的读写流,这些读写是由多个1M的IO组成的。这些应用都是处理大数据量的数据,主要是关注总体的数据吞吐量MBPS
3. 大的随机的IO: 一个连续的读写和其他的数据库活动同时访问磁盘。基于条带化,一个连续的读写扩展到多个磁盘上。因此,在磁盘的这个层次上,许多的连续的读写被看作随机的1M的IO,又被称作多用户的连续IO。
4. 混合的负载: Orion可以同时仿真前俩种负载:小的随机的IO,大的连续的IO。这将使你可以仿真,OLTP的8K的随机读写的负载和4个连续的1M IO读写的备份的负载。
安装以及使用:
gunzip orion_linux_x86-64.gz
不需要编译安装,解压直接使用
chmod u+x orion_linux_x86-64
查看磁盘挂载
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 32G 15G 16G 50% /
tmpfs 30G 0 30G 0% /dev/shm
/dev/dfa1 355G 60G 277G 18% /data01
/dev/dfa2 355G 41G 297G 12% /data02
/dev/dfa3 355G 61G 277G 18% /data03
编写lun文件
# cat mytest.lun
/dev/dfa1
/dev/dfa2
/dev/dfa3
# orion -run advanced -testname mytest -num_disks 3 -size_small 8 -size_large 8 -type rand
ORION: ORacle IO Numbers -- Version 12.1.0.2.0
mytest_20150505_1703
Calibration will take approximately 23 minutes.
Using a large value for -cache_size may take longer.
ORA-56727: orion must be invoked using its full, absolute path
orion_main: orion_spawn sml failed
Test aborted due to errors.
这里提示需要全路径,那么下面写上绝对路径即可:
/home/oracle/orion_linux_x86-64 -run advanced -testname mytest -num_disks 4 -size_small 8 -size_large 8 -type rand
结果记录在输出的文件中:
以mytest前缀的文件:
首先是mytest_20150505_1429_summary.txt 概要文件
包含了运行的参数,磁盘分区的大小,最大吞吐量,IO速率,以及最小延迟
#cat mytest_20150505_1429_summary.txt
ORION VERSION 11.1.0.7.0
Commandline:
-run advanced -testname mytest -num_disks 4 -size_small 8 -size_large 8 -type rand
This maps to this test:
Test: mytest
Small IO size: 8 KB
Large IO size: 8 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, 5, 6, 7, 8
Total Data Points: 29
Name: /dev/dfa1 Size: 386547056640
Name: /dev/dfa2 Size: 386547056640
Name: /dev/dfa3 Size: 386547056640
3 FILEs found.
Maximum Large MBPS=166.76 @ Small=0 and Large=2 最大吞吐量为166.76M ,在测试第二个大IO得出的值
Maximum Small IOPS=19984 @ Small=1 and Large=0 最大 小IO的IOPS为19984,在测试第一个小IO得出的值
Minimum Small Latency=0.05 @ Small=1 and Large=0 最小 小IO的延迟
mytest_20150505_1429_mbps.csv文件内容 MBPS情况
包含了大的连续或者随机的IO,当在1的时候,我们的吞吐量是156.03MBPS,可以使用该数据画出二维表
cat mytest_20150505_1429_mbps.csv
Large/Small, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20
1, 156.03
2, 166.76
3, 115.55
4, 115.96
5, 89.38
6, 85.34
7, 84.13
8, 82.95
mytest_20150505_1429_lat.csv
小的IO的延迟时间
#cat mytest_20150505_1429_lat.csv
Large/Small, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20
0, 0.05, 0.11, 0.20, 0.32, 0.39, 0.45, 0.65, 0.75, 0.85, 0.78, 1.04, 1.15, 1.22, 1.33, 1.41, 1.51, 1.59, 1.69, 1.81, 1.89
1
2
3
4
5
6
7
8
mytest_20150505_1429_iops.csv IOPS信息:
#cat mytest_20150505_1429_iops.csv
Large/Small, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20
0, 19984, 18835, 14678, 12461, 12733, 13285, 10832, 10645, 10520, 12872, 10569, 10418, 10675, 10497, 10616, 10567, 10712, 10637, 10477, 10573
1
2
3
4
5
6
7
8
还有一个hist.txt结尾的文件是小IO读写延迟柱状图信息
Maximum Large MBPS=3231.22 @ Small=0 and Large=2
Maximum Small IOPS=20847 @ Small=2 and Large=0
Small Read Latency: avg=95 us, min=6 us, max=1830 us, std dev=149 us @ Small=2 and Large=0
Minimum Small Latency=49 usecs @ Small=1 and Large=0
Small Read Latency: avg=49 us, min=6 us, max=1098 us, std dev=54 us @ Small=1 and Large=0
Small Read / Write Latency Histogram @ Small=1 and Large=0
Latency: # of IOs (read) # of IOs (write)
0 - 1 us: 0 0
2 - 4 us: 0 0
4 - 8 us: 131578 0
8 - 16 us: 542111 0
16 - 32 us: 131726 0
32 - 64 us: 84 0
64 - 128 us: 251443 0
128 - 256 us: 156771 0
256 - 512 us: 8 0
512 - 1024 us: 6 0
1024 - 2048 us: 1 0
2048 - 4096 us: 0 0
4096 - 8192 us: 0 0
8192 - 16384 us: 0 0
16384 - 32768 us: 0 0
32768 - 65536 us: 0 0
65536 - 131072 us: 0 0
131072 - 262144 us: 0 0
262144 - 524288 us: 0 0
524288 - 1048576 us: 0 0
1048576 - 2097152 us: 0 0
2097152 - 4194304 us: 0 0
4194304 - 8388608 us: 0 0
8388608 - 16777216 us: 0 0
16777216 - 33554432 us: 0 0
33554432 - 67108864 us: 0 0
67108864 - 134217728 us: 0 0
134217728 - 268435456 us: 0 0
mytest_20150505_1429_trace.txt 跟踪文件
最后看了一下,oracle数据库也自带这个工具,在以下目录
/opt/oracle/product/12.0.2/db_1/bin/orion
参考:http://www.dbi-services.com/index.php/blog/entry/simulating-and-testing-io-performances-with-orion
http://blog.itpub.net/29615408/viewspace-1384744/
http://blog.itpub.net/21754115/viewspace-1461650/