===== Oracle Orion 11g / 12c R1 - I/O Last einer Oracle Umgebung simulieren und messen ====== Orion ist ein Kommandozeilen Werkzeug zum Erzeugen von I/O auf einem Server zum Messen der möglichen Performance Früher ließ sich die Software Stand-Alone auf einer Oracle Website finden, inzwischen kann die Software aber nicht mehr einzeln (2015) heruntergeladen werden. Mit einer Oracle 11g oder 12c R1 Installation DB Software Installation ist das Werkzeug aber immer noch verfügbar. ==== Eine erster Einsatz mit 12c unter MS Windows ==== ==== Verbreitung ==== Zuvor muss in einer Text Datei der Pfad zu einer Testdatei oder der Device Pointer zu einer freien Platte (zum Beispiel einer ASM Disk) angegeben werden. Der Name der Datei wird dabei auch zum Namen des gesamten Testlaufes, alle Ergebnisdateien werden dann ebenfalls so genannt. D.h. von einer bestehenden Datenbank wird eine Datendatei mit "ausgeliehen" (2-3 GB Größe) und zum Beispiel unter D:\ abgelegt oder alternativ mit **Creatfil.exe** aus dem [[http://www.microsoft.com/downloads/en/confirmation.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en|Windows Resourcekit 2003 ]] für das Erzeugen eines Testfiles verwenden. Inhalt der Datei notebookRun01.lun: d:\PMDB_DAT1.DBF === Einen einfachen Test starten === Ein Erster Test starten mit (Standard Harddisk [[http://www.seagate.com/files/staticfiles/support/docs/manual/100665905d.pdf|Seagate ST750LX003 - 750GB mit Cache]] ) orion -run simple -testname notebookRun01-num_disks 1 ORION: ORacle IO Numbers -- Version 12.1.0.2.0 notebookRun01_20150802_1833 Calibration will take approximately 9 minutes. Using a large value for -cache_size may take longer. Maximum Large MBPS=64.67 @ Small=0 and Large=2 Maximum Small IOPS=250 @ Small=5 and Large=0 Small Read Latency: avg=19959 us, min=294 us, max=171700 us, std dev=17554 us @ Small=5 and Large=0 Minimum Small Latency=6409 usecs @ Small=1 and Large=0 Small Read Latency: avg=6409 us, min=268 us, max=91590 us, std dev=3382 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: 0 0 8 - 16 us: 0 0 16 - 32 us: 0 0 32 - 64 us: 0 0 64 - 128 us: 0 0 128 - 256 us: 0 0 256 - 512 us: 122 0 512 - 1024 us: 569 0 1024 - 2048 us: 7 0 2048 - 4096 us: 1621 0 4096 - 8192 us: 4152 0 8192 - 16384 us: 2826 0 16384 - 32768 us: 52 0 32768 - 65536 us: 6 0 65536 - 131072 us: 1 0 131072 - 262144 us: 0 0 262144 - 524288 us: 0 0 524288 - 1048576 us: 0 0 ........ 134217728 - 268435456 us: 0 0 Zeitgleich über den Performance Monitor die Leistung prüfen, bis zu 65Mb/s konnten gemessen werden. Zweiter Test mit einer Samsung SSD 840 EVO 1TB ORION: ORacle IO Numbers -- Version 12.1.0.2.0 notebookRun02_20150802_1844 Calibration will take approximately 9 minutes. Using a large value for -cache_size may take longer. Maximum Large MBPS=267.14 @ Small=0 and Large=2 Maximum Small IOPS=19602 @ Small=5 and Large=0 Small Read Latency: avg=254 us, min=104 us, max=15669 us, std dev=84 us @ Small=5 and Large=0 Minimum Small Latency=224 usecs @ Small=4 and Large=0 Small Read Latency: avg=224 us, min=79 us, max=14632 us, std dev=79 us @ Small=4 and Large=0 Small Read / Write Latency Histogram @ Small=4 and Large=0 Latency: # of IOs (read) # of IOs (write) 0 - 1 us: 0 0 2 - 4 us: 0 0 4 - 8 us: 0 0 8 - 16 us: 0 0 16 - 32 us: 0 0 32 - 64 us: 0 0 64 - 128 us: 416 0 128 - 256 us: 870425 0 256 - 512 us: 194805 0 512 - 1024 us: 252 0 1024 - 2048 us: 230 0 2048 - 4096 us: 65 0 4096 - 8192 us: 37 0 8192 - 16384 us: 32 0 16384 - 32768 us: 0 0 32768 - 65536 us: 0 0 65536 - 131072 us: 0 0 ................ 134217728 - 268435456 us: 0 0 Zeitgleich über den Performance Monitor die Leistung prüfen, bis zu 250Mb/s konnten gemessen werden. === Auswertung=== Die folgenden Dateien werden bei einem Lauf erzeugt: * **__hist.txt** => Histogram of I/O latencies. * **__iops.csv** => Performance results of small I/Os in IOPS * **__lat.csv** => Latency of small I/Os in microseconds * **__mbps.csv** => Performance results of large I/Os in MBPS. * **__summary.txt** => Summary of the input parameters * along with the minimum small I/O latency (in secs), the maximum MBPS, and the maximum IOPS observed. * **__trace.txt** => Extended, unprocessed output ==Auswertung Small I/O in IOPS und Latency== Im ersten Schritt die Werte aus __iops.csv und __lat.csv in Excel als Graph darstellen und zum Beispiel die IOPS und die Latency in einen Graphen einzeichnen. {{ :dba:oracle_orion_auswertung_v01.png?300 | Eine Auswertung IOPS versus Latency - Simple Run Oracle Orion}} ---- ==== Einsatz unter Windows ASM ===== Nicht die write Option nützen siehe Oracle Support Node : Alert: Running "Orion Calibrate" Command Line Using "-write" (Write Mode) Corrupted the ASM Disks. (Doc ID 1924213.1) === ASM Disk Lun String ermitteln === Anmelden an der ASM Instance select path from v$asm_disk; PATH ---------- \\.\ORCLDISKD10 \\.\ORCLDISKR10 .. === Datei mit den Luns erstellen === Daten loadasm.lun erstellen: \\.\ORCLDISKD10 \\.\ORCLDISKR10 === Ersten Test starten === orion -run normal -testname loadasm ---- ====Einsatz unter Linux - Probleme mit dem Library Pfad ===== === ./orion: error while loading shared libraries: libclntsh.so.11.1 === LD_LIBRARY_PATH Patch setzen! $ cd $ORACLE_HOME $ ./orion -h ./orion: error while loading shared libraries: libclntsh.so.11.1: cannot open shared object file: No such file or directory # test mit ldd $ ldd ./orion linux-vdso.so.1 => (0x00007fffb3f9c000) libclntsh.so.11.1 => not found libcell11.so => not found libskgxp11.so => not found libaio.so.1 => /lib64/libaio.so.1 (0x0000003ebfa00000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f0a49419000) libm.so.6 => /lib64/libm.so.6 (0x0000003ec0a00000) libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003ec0200000) libnsl.so.1 => /lib64/libnsl.so.1 (0x0000003ecc600000) libc.so.6 => /lib64/libc.so.6 (0x0000003ebfe00000) /lib64/ld-linux-x86-64.so.2 (0x0000003ebf600000) # Lösung export LD_LIBRARY_PATH=$ORACLE_HOME/lib/ $/bin/orion -help $ ORION: ORacle IO Numbers -- Version 11.2.0.4.0 ---- ==== Quellen ==== Oracle: * http://docs.oracle.com/cd/E11882_01/server.112/e41573/iodesign.htm#CACJEEDI * http://docs.oracle.com/database/121/TGDBA/pfgrf_iodesign.htm#CACJEEDI * http://www.oracle.com/webfolder/technetwork/de/community/dbadmin/tipps/io_calibration/index.html * http://download.oracle.com/otn/utilities_drivers/orion/Orion_Users_Guide.pdf Web: * http://de.slideshare.net/alexgorbachev/benchmarking-oracle-io-performance-with-orion-by-alex-gorbachev * https://husnusensoy.wordpress.com/2009/03/31/orion-io-calibration-over-sas-disks/