Using Orion Calibration to check I/O numbersSeptember 6, 2007 Brief introOracle has been a longstanding supporter of the Linux operating system and as you know, they have been pushing Enterprise Linux for quite some time and even have a full-fledged team that only works on and develops Linux tools. One such tool is Orion, and although it is currently in beta, and remains unsupported software, we do hope that Oracle will eventually make its Enterprise Linux robust enough to be a self-testing, self-automating and self-adjusting operating system. Orion: What is it?Orion is an I/O metrics testing tool. This tool is ideal to do capacity planning and to check how your storage is doing on your DAS, SAN or NAS. Orion has been specifically designed to simulate the workload using the same Oracle software stack. The following types of workloads are supported currently:
Where can ORION be testedDAS: Orion has been duly tested on DAS (Direct Attached Storage); actually, that is what we are doing now. I have a Maxtor external drive and have both my nodes, without any Oracle RAC database. SAN: AS long as the LUNs are mapped to the local devices, Orion will test it. NAS: Make sure to initialize the datafiles before running ORION. Lets get started
/dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 [root@vm11g01 dev]# dd if=/dev/sdc1 of=/dev/null bs=32k count=1024 1024+0 records in 1024+0 records out 33554432 bytes (34 MB) copied, 0.92155 seconds, 36.4 MB/s [root@vm11g01 tmp]# ./orion -run simple -testname 11gtest -num_disks 4 ORION: ORacle IO Numbers -- Version 10.2.0.1.0 Test will take approximately 30 minutes Larger caches may take longer What happens now is that the I/O load levels are generated and recorded in the output files. Several output files are generated: 1. 11gtest_summary contains the following data input parameters, max throughput, max I/O rate and minimum latency observed.: ORION VERSION 10.2.0.1.0 Commandline: -run simple -testname 11gtest -num_disks 4 This maps to this test: Test: 11gtest 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, 5, 6, 7, 8 Total Data Points: 29 Name: /dev/sdc1 Size: 536854528 Name: /dev/sdd1 Size: 213893120 Name: /dev/sde1 Size: 4293563904 Name: /dev/sdf1 Size: 4293563904 4 FILEs found. Maximum Large MBPS=34.47 @ Small=0 and Large=2 Maximum Small IOPS=185 @ Small=17 and Large=0 Minimum Small Latency=7.45 @ Small=1 and Large=0 2. 11gtest_mbps.csv: This file contains the data transfer rate (MBPS) for large random/sequential workloads. They contain, all CSV files by the way, two-dimensional data, which you have to import manually to get a graph or save it as an Excel file and then see if you can plot a graphical representation of the collected data. What does it look like? Large/Small, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 3. 11gtest_iops.csv: This contains I/O throughput results for small random workloads. And now take a look at the content of the file: Large/Small, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 4. 11gtest_lat.csv: Latency results for small random workloads. Sample data: Large/Small, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 5. 11gtest_trace file: This is all unprocessed data. Sample of begin and end: TEST START Point 1 (small=0, large=0) of 29 Valid small 1 Valid large 1 Valid ran (small): VLun = 0 Size = 9337875456 ran (small): Index = 0 Count = 8048 Avg Lat = 7.45 ran (small): nio=8048 nior=8048 niow=0 req w%=0 act w%=0 ran (small): my 1 oth 0 iops 134 size 8 K lat 7.45 ms bw = 1.05 MBps dur 59.97 s READ Point 2 (small=1, large=0) of 29 Valid small 1 Valid large 1 Valid ran (small): VLun = 0 Size = 9337875456 ran (small): Index = 0 Count = 4610 Avg Lat = 13.00 ran (small): Index = 1 Count = 4599 Avg Lat = 13.02 ran (small): nio=9209 nior=9209 niow=0 req w%=0 act w%=0 ran (small): my 2 oth 0 iops 153 size 8 K lat 13.01 ms bw = 1.20 MBps dur 59.94 s READ Point 3 (small=2, large=0) of 29 Valid small 1 Valid large 1 Valid ran (small): VLun = 0 Size = 9337875456 ran (small): Index = 0 Count = 3205 Avg Lat = 18.70 ran (small): Index = 1 Count = 3197 Avg Lat = 18.75 ran (small): Index = 2 Count = 3199 Avg Lat = 18.73 ran (small): nio=9601 nior=9601 niow=0 req w%=0 act w%=0 ran (small): my 3 oth 0 iops 160 size 8 K lat 18.72 ms bw = 1.25 MBps dur 59.94 s READ - - - - Point 27 (small=0, large=6) of 29 Valid small 1 Valid large 1 Valid ran (large): VLun = 0 Size = 9337875456 ran (large): Index = 0 Count = 279 Avg Lat = 213.26 ran (large): Index = 1 Count = 281 Avg Lat = 212.17 ran (large): Index = 2 Count = 282 Avg Lat = 211.49 ran (large): Index = 3 Count = 281 Avg Lat = 212.03 ran (large): Index = 4 Count = 279 Avg Lat = 213.37 ran (large): Index = 5 Count = 282 Avg Lat = 211.42 ran (large): Index = 6 Count = 281 Avg Lat = 212.17 ran (large): nio=1965 nior=1965 niow=0 req w%=0 act w%=0 ran (large): my 7 oth 0 iops 32 size 1024 K lat 212.27 ms bw = 32.96 MBps dur 59.61 s READ Point 28 (small=0, large=7) of 29 Valid small 1 Valid large 1 Valid ran (large): VLun = 0 Size = 9337875456 ran (large): Index = 0 Count = 247 Avg Lat = 240.04 ran (large): Index = 1 Count = 247 Avg Lat = 240.69 ran (large): Index = 2 Count = 245 Avg Lat = 240.33 ran (large): Index = 3 Count = 251 Avg Lat = 235.70 ran (large): Index = 4 Count = 254 Avg Lat = 232.80 ran (large): Index = 5 Count = 250 Avg Lat = 235.24 ran (large): Index = 6 Count = 247 Avg Lat = 240.24 ran (large): Index = 7 Count = 243 Avg Lat = 243.83 ran (large): nio=1984 nior=1984 niow=0 req w%=0 act w%=0 ran (large): my 8 oth 0 iops 33 size 1024 K lat 238.56 ms bw = 33.46 MBps dur 59.30 s READ Point 29 (small=0, large=8) of 29 Valid small 1 Valid large 1 Valid TEST END External disk used:Disk I would advise: FireWire 400/800, 500gb disk ConclusionOrion is a great tool to test the I/O readiness of your hardware. How often have you gone through frustrating moments, only to realize that your I/O was a disaster. I will be carrying this Maxtor drive with me soon. Remember, an improperly configured disk that performs poorly on I/O performance, is a not the disk you would want to run your Oracle RAC on. |