Inhaltsverzeichnis
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 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 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:
- <Name>_<datum>_hist.txt ⇒ Histogram of I/O latencies.
- <Name>_<datum>_iops.csv ⇒ Performance results of small I/Os in IOPS
- <Name>_<datum>_lat.csv ⇒ Latency of small I/Os in microseconds
- <Name>_<datum>_mbps.csv ⇒ Performance results of large I/Os in MBPS.
- <Name>_<datum>_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.
- <Name>_<datum>_trace.txt ⇒ Extended, unprocessed output
Auswertung Small I/O in IOPS und Latency
Im ersten Schritt die Werte aus <Name>_<datum>_iops.csv und <Name>_<datum>_lat.csv in Excel als Graph darstellen und zum Beispiel die IOPS und die Latency in einen Graphen einzeichnen.
Einsatz unter Windows ASM
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:
Web: