Saturday, February 11, 2012

Just read - SLOB – The Silly Little Oracle Benchmark

Nothing. I just posted about SLOB – The Silly Little Oracle Benchmark. You could read it all from link. Oh No! I didn't have the good database. I had only my virtualbox. OK... just tested it.
[oracle@chart01 ~]$ ls SLOB/
awr misc reader.sql README.AIX README-FIRST runit.sh setup.sh wait_kit writer.sql writer.sql.heavy writer.sql.lite
[oracle@chart01 ~]$ cd SLOB/
[oracle@chart01 SLOB]$ less README-FIRST
.
.
.
SETUP STEPS
-----------
1. First, create the trigger tools. Change directory to ./wait_kit
and execute "make all"
2. Next, execute the setup.sh script, e.g., sh ./setup.sh IOPS 128
3. Next, run the kit such as sh ./runit.sh 0 8
.
.
.

[oracle@chart01 SLOB]$ cd wait_kit/
[oracle@chart01 wait_kit]$ ls
create_sem.c Makefile mywait.c trigger.c
[oracle@chart01 wait_kit]$ make all
rm -fr *.o mywait trigger create_sem
cc -c -o mywait.o mywait.c
cc -o mywait mywait.o
cc -c -o trigger.o trigger.c
cc -o trigger trigger.o
cc -c -o create_sem.o create_sem.c
cc -o create_sem create_sem.o
cp mywait trigger create_sem ../
rm -fr *.o
[oracle@chart01 wait_kit]$ ls
create_sem create_sem.c Makefile mywait mywait.c trigger trigger.c
[oracle@chart01 wait_kit]$ cd ..
[oracle@chart01 SLOB]$ ./setup.sh
Usage : ./setup.sh: <tablespace name> <optional: number of users>
[oracle@chart01 SLOB]$ ./setup.sh TBS_TEST 10
Setting up user 1
Waiting for background processes - Fri Feb 10 22:56:53 ICT 2012

Table created.

PL/SQL procedure successfully completed.

Setting up user 2
Waiting for background processes - Fri Feb 10 22:59:36 ICT 2012
Setting up user 3
Waiting for background processes - Fri Feb 10 23:01:42 ICT 2012
Setting up user 4
Waiting for background processes - Fri Feb 10 23:04:15 ICT 2012
Setting up user 5
Waiting for background processes - Fri Feb 10 23:06:01 ICT 2012
Setting up user 6
Waiting for background processes - Fri Feb 10 23:07:39 ICT 2012
Setting up user 7
Waiting for background processes - Fri Feb 10 23:10:12 ICT 2012
Setting up user 8
Waiting for background processes - Fri Feb 10 23:11:54 ICT 2012
Setting up user 9
Waiting for background processes - Fri Feb 10 23:13:40 ICT 2012
Setting up user 10
Waiting for background processes - Fri Feb 10 23:15:24 ICT 2012

[oracle@chart01 SLOB]$ ls cr_tab_and_load.out
cr_tab_and_load.out
[oracle@chart01 SLOB]$ less cr_tab_and_load.out
[oracle@chart01 SLOB]$ ./runit.sh
./runit.sh: Usage : ./runit.sh <number of write threads> <number of read threads>

[oracle@chart01 SLOB]$ for cnt in 1 2 4 8
> do
> sh ./runit.sh 0 $cnt
> mv awr.txt awr.txt.$cnt
> done
Tm 109
Tm 171
Tm 604
Tm 4575

[oracle@chart01 SLOB]$ ls awr.txt*
awr.txt.1 awr.txt.2 awr.txt.4 awr.txt.8
After you run "runit.sh", you will see "awr.txt" file. It's AWR report.
[oracle@chart01 SLOB]$ ./runit.sh 0 4
Tm 423
[oracle@chart01 SLOB]$ ls awr.txt
awr.txt
[oracle@chart01 SLOB]$ cat awr.txt| less
Rollbacks: 0.0 0.0
Transactions: 0.1

Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer Nowait %: 100.00 Redo NoWait %: 99.94
Buffer Hit %: 55.75 In-memory Sort %: 100.00
Library Hit %: 99.95 Soft Parse %: 99.32
Execute to Parse %: 97.39 Latch Hit %: 99.93
Parse CPU to Parse Elapsd %: 18.89 % Non-Parse CPU: 99.85

Shared Pool Statistics Begin End
------ ------
Memory Usage %: 91.13 90.92
% SQL with executions>1: 89.97 86.84
% Memory for SQL w/exec>1: 88.34 84.65

Top 5 Timed Foreground Events
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Avg
wait % DB
Event Waits Time(s) (ms) time Wait Class
------------------------------ ------------ ----------- ------ ------ ----------
db file parallel read 73,277 752 10 47.0 User I/O
DB CPU 332 20.8
latch free 11,721 43 4 2.7 Other
db file sequential read 78,550 35 0 2.2 User I/O
latch: cache buffers lru chain 8,633 33 4 2.1 Other

No comments: