SLOB Topics for 
Oaktable World 2014 
Kevin Closson 
Chief Performance Architect 
© Copyright 2014 EMC Corporation. All rights reserved. 1
xtremio.com/slob 
© Copyright 2014 EMC Corporation. All rights reserved. 2
© Copyright 2014 EMC Corporation. All rights reserved. 3
xtremio.com/slob 
© Copyright 2014 EMC Corporation. All rights reserved. 4
XtremIO 
#1 All-Flash Array in the Market 
>$100,000,000 <6 months >40PB sold 
© Copyright 2014 EMC Corporation. All rights reserved. 5
Agenda 
Ÿ The obvious things you can do with SLOB 
Ÿ SLOB without physical I/O? 
Ÿ SLOB for Oracle Database 12c In-Memory Option? 
Ÿ SLOB for Oracle Multitenant? 
Ÿ SLOB to test Oracle Database contention? 
Ÿ A peek: Testing 11g on Windows 2012 with SLOB 
© Copyright 2014 EMC Corporation. All rights reserved. 6
Typical Platform Testing 
With SLOB 
© Copyright 2014 EMC Corporation. All rights reserved. 7
..but first, quick SLOB 
fundamentals... 
© Copyright 2014 EMC Corporation. All rights reserved. 8
SLOB Fundamentals 
Ÿ Single design center 
– Maximum SQL execution with minimum CPU utilization 
– Maximum physical I/O per unit of DB CPU 
Ÿ No application contention 
– Schema per session 
– Single row per block 
– 100% random data access 
© Copyright 2014 EMC Corporation. All rights reserved. 9
SLOB Fundamentals 
Ÿ Predictable and Repeatable 
– Results vary less than 3% in the worst case. Generally 
1-2% variation 
– Semaphore trigger. Timed-completion or fixed SQL 
execution count 
– SELECT/UPDATE workload. Tables never need reloaded, 
single index never needs maintenance 
© Copyright 2014 EMC Corporation. All rights reserved. 10
SLOB Fundamentals 
Ÿ Predictable and Repeatable 
– Synchronous reads 
▪ Key Performance Metrics (Executions/sec, PIOPS, etc) directly tied to 
I/O service times 
© Copyright 2014 EMC Corporation. All rights reserved. 11
SLOB Fundamentals 
Ÿ Simple 
– All you need 
▪ A tablespace to store the SLOB schemas 
▪ Enough storage to store ~4:1 ratio of SLOB data to db_cache_size 
— Example: 1GB db_cache_size, 32 Sessions, for 4GB use: slob.conf->SCALE=16384 
— 16384 * 8192 * 32 == 4GB 
▪ Connection by bequeath or SQL*Net 
© Copyright 2014 EMC Corporation. All rights reserved. 12
SLOB Fundamentals 
Ÿ SLOB is a Linux kit, not ported 
– Use Oracle client on Linux 
▪ Small physical or virtual as the driver to test Windows, AIX, Solaris, 
etc 
▪ The client does not require CPU during test execution. It’s 100% 
foreground PL/SQL 
© Copyright 2014 EMC Corporation. All rights reserved. 13
Testing Physical IOPS 
With SLOB 
Examples based on 
EMC XtremIO 
© Copyright 2014 EMC Corporation. All rights reserved. 14
Single Host 2s16c32t Redo Payload vs LGWR Write Latency 
- Tip: Tweak SLOB/procedure.sql 
© Copyright 2014 EMC Corporation. All rights reserved. 15
Single Host 2s16c32t Redo Payload vs Random Read Latency 
© Copyright 2014 EMC Corporation. All rights reserved. 16
Cached SLOB 
© Copyright 2014 EMC Corporation. All rights reserved. 17
SLOB: slob.sql 
© Copyright 2014 EMC Corporation. All rights reserved. 18
Cached SLOB – Study CPU Scalability 
2s16c32t E5-2600 
5215 
3020 
SQL EXECUTIONS/Second 
24397 
34150 
41657 
49059 
55820 
60000 
50000 
40000 
30000 
20000 
10000 
0 
0 5 10 15 20 25 30 35 40 45 
EXECUTES 
© Copyright 2014 EMC Corporation. All rights reserved. 19
Cached SLOB – Study CPU Scalability 
2s16c32t E5-2600 
1341608 
776967 
LIOPS 
10723697 
8791012 
6280211 
12629035 
14369615 
16000000 
14000000 
12000000 
10000000 
8000000 
6000000 
4000000 
2000000 
0 
0 5 10 15 20 25 30 35 40 45 
LIOPS 
© Copyright 2014 EMC Corporation. All rights reserved. 20
Cached SLOB – Study CPU Scalability 
2s16c32t E5-2600 
© Copyright 2014 EMC Corporation. All rights reserved. 21
Cached SLOB 
Focus on Intel SMT 
© Copyright 2014 EMC Corporation. All rights reserved. 22
Understand Intel SMT 
© Copyright 2014 EMC Corporation. All rights reserved. 23
Perf(1) top - skinny.sql 
© Copyright 2014 EMC Corporation. All rights reserved. 24
Perf(1) top – fat.sql 
© Copyright 2014 EMC Corporation. All rights reserved. 25
Understand Intel SMT 
© Copyright 2014 EMC Corporation. All rights reserved. 26
Understand Intel SMT 
© Copyright 2014 EMC Corporation. All rights reserved. 27
2-socket x86 server performance in the last decade 
• With CPU threading 
skinny.sql and fat.sql are oil 
and water as skinny forces 
fat to run on a thread == 
starvation since fat stalls 
less (see SQL) 
• Same number of “noise” 
sessions 
• Top case N fat.sql 
• Bottom case N skinny.sql 
+ 1 fat.sql. 
© Copyright 2014 EMC Corporation. All rights reserved. 28
In-Memory Column Store 
© Copyright 2014 EMC Corporation. All rights reserved. 29
SLOB – A Focus on In-Memory Database 
Ÿ Study OLTP / In-Memory Database Option co-hosting 
– In-memory cache population (ingest) rates 
– Think “data flow”. Who is a producer and who is a 
consumer 
▪ inmemory_max_populate_servers and PQO slaves 
– Co-hosted with OLTP 
© Copyright 2014 EMC Corporation. All rights reserved. 30
Top(1) – In-Memory Database Option 
© Copyright 2014 EMC Corporation. All rights reserved. 31
SLOB – A Focus on In-Memory Database 
© Copyright 2014 EMC Corporation. All rights reserved. 32
SLOB – A Focus on In-Memory Database 
© Copyright 2014 EMC Corporation. All rights reserved. 33
SLOB – A Focus on In-Memory Database 
© Copyright 2014 EMC Corporation. All rights reserved. 34
SLOB – A Focus on In-Memory Database 
© Copyright 2014 EMC Corporation. All rights reserved. 35
SLOB – A Focus on In-Memory Database 
© Copyright 2014 EMC Corporation. All rights reserved. 36
SLOB – A Focus on In-Memory Database 
© Copyright 2014 EMC Corporation. All rights reserved. 37
Multitenant Oracle 
© Copyright 2014 EMC Corporation. All rights reserved. 38
SLOB – A Focus on Oracle Multitenant 
Ÿ Use SLOB to study Oracle Multitenant 
Ÿ What better way to understand a simple premise 
than to rely on a simple, predictable workload and 
test kit? 
© Copyright 2014 EMC Corporation. All rights reserved. 39
SLOB – A Focus on Oracle Multitenant 
Ÿ http://www.oracle.com/technetwork/database/multitenant/ 
learn-more/oraclemultitenantt5-8-final-2185108.pdf, pg 23: 
“In Oracle Multitenant, great savings in CPU consumption arise from the sharing of 
background processes among databases, which can significantly reduce the amount of 
cores needed to support a given number of databases. “ 
Ÿ Hold it. To achieve great savings in CPU consumption, doesn’t 
that mean we must all accept the notion that background 
processing consumes a significant amount of CPU bandwidth? 
© Copyright 2014 EMC Corporation. All rights reserved. 40
SLOB – A Focus on Oracle Multitenant 
Ÿ Background CPU 
– Scrutinize with SLOB. Know your platform. Now your costs and rates. 
– We are looking at BG behavior so this is UPDATE intensive SLOB 
– 2s20c40t E5-2690v2 host. 
– This is a single database! 
© Copyright 2014 EMC Corporation. All rights reserved. 41
SLOB – A Focus on Oracle Multitenant 
Ÿ Testing to further understand a simple assertion. 
Ÿ The assertion: 
– Consolidating from multiple databases/instances into a 
single Oracle Multitenant deployment significantly reduces 
CPU overhead due to shared background processing 
© Copyright 2014 EMC Corporation. All rights reserved. 42
Multitenant – Huge CPU savings? 
Simple assertion, simple baseline? 
© Copyright 2014 EMC Corporation. All rights reserved. 43
Multitenant – Huge CPU savings? 
Ÿ Testing to further understand a simple assertion. 
Ÿ Should be simple enough, right? 
– SLOB – Simple to use, simple to understand. 
▪ 40 simple schema users with zero data sharing – simple workload 
▪ 40 databases each with 
— A single SLOB session 
— slob.conf->SCALE=668734 (5GB 100% randomly visited active data set) 
— slob.conf->UPDATE_PCT=25 (SQL mix 75% SELECT, 25% UPDATE) 
— Simple init.ora (next slide) 
— slob.conf->WORK_LOOP=100000 
— Test on a 2s20c40t E5-2690v2 server 
Ÿ The metric is job completion – fixed workload. 
© Copyright 2014 EMC Corporation. All rights reserved. 44
Multitenant – Huge CPU savings? 
Ÿ Testing to further understand a simple assertion. 
Ÿ The metric is job completion – fixed workload. 
Ÿ Which model pushes through 4,000,000 SQL 
executions faster? 
© Copyright 2014 EMC Corporation. All rights reserved. 45
Testing Database 
Contention 
With SLOB? 
© Copyright 2014 EMC Corporation. All rights reserved. 46
SLOB – Testing Database Contention 
Ÿ slob.conf->SHARED_DATA_MODULUS 
© Copyright 2014 EMC Corporation. All rights reserved. 47
SLOB – Testing Database Contention 
Ÿ slob.conf->SHARED_DATA_MODULUS 
© Copyright 2014 EMC Corporation. All rights reserved. 48
Oaktable World 2014 Kevin Closson:  SLOB – For More Than I/O!

Oaktable World 2014 Kevin Closson: SLOB – For More Than I/O!

  • 1.
    SLOB Topics for Oaktable World 2014 Kevin Closson Chief Performance Architect © Copyright 2014 EMC Corporation. All rights reserved. 1
  • 2.
    xtremio.com/slob © Copyright2014 EMC Corporation. All rights reserved. 2
  • 3.
    © Copyright 2014EMC Corporation. All rights reserved. 3
  • 4.
    xtremio.com/slob © Copyright2014 EMC Corporation. All rights reserved. 4
  • 5.
    XtremIO #1 All-FlashArray in the Market >$100,000,000 <6 months >40PB sold © Copyright 2014 EMC Corporation. All rights reserved. 5
  • 6.
    Agenda Ÿ Theobvious things you can do with SLOB Ÿ SLOB without physical I/O? Ÿ SLOB for Oracle Database 12c In-Memory Option? Ÿ SLOB for Oracle Multitenant? Ÿ SLOB to test Oracle Database contention? Ÿ A peek: Testing 11g on Windows 2012 with SLOB © Copyright 2014 EMC Corporation. All rights reserved. 6
  • 7.
    Typical Platform Testing With SLOB © Copyright 2014 EMC Corporation. All rights reserved. 7
  • 8.
    ..but first, quickSLOB fundamentals... © Copyright 2014 EMC Corporation. All rights reserved. 8
  • 9.
    SLOB Fundamentals ŸSingle design center – Maximum SQL execution with minimum CPU utilization – Maximum physical I/O per unit of DB CPU Ÿ No application contention – Schema per session – Single row per block – 100% random data access © Copyright 2014 EMC Corporation. All rights reserved. 9
  • 10.
    SLOB Fundamentals ŸPredictable and Repeatable – Results vary less than 3% in the worst case. Generally 1-2% variation – Semaphore trigger. Timed-completion or fixed SQL execution count – SELECT/UPDATE workload. Tables never need reloaded, single index never needs maintenance © Copyright 2014 EMC Corporation. All rights reserved. 10
  • 11.
    SLOB Fundamentals ŸPredictable and Repeatable – Synchronous reads ▪ Key Performance Metrics (Executions/sec, PIOPS, etc) directly tied to I/O service times © Copyright 2014 EMC Corporation. All rights reserved. 11
  • 12.
    SLOB Fundamentals ŸSimple – All you need ▪ A tablespace to store the SLOB schemas ▪ Enough storage to store ~4:1 ratio of SLOB data to db_cache_size — Example: 1GB db_cache_size, 32 Sessions, for 4GB use: slob.conf->SCALE=16384 — 16384 * 8192 * 32 == 4GB ▪ Connection by bequeath or SQL*Net © Copyright 2014 EMC Corporation. All rights reserved. 12
  • 13.
    SLOB Fundamentals ŸSLOB is a Linux kit, not ported – Use Oracle client on Linux ▪ Small physical or virtual as the driver to test Windows, AIX, Solaris, etc ▪ The client does not require CPU during test execution. It’s 100% foreground PL/SQL © Copyright 2014 EMC Corporation. All rights reserved. 13
  • 14.
    Testing Physical IOPS With SLOB Examples based on EMC XtremIO © Copyright 2014 EMC Corporation. All rights reserved. 14
  • 15.
    Single Host 2s16c32tRedo Payload vs LGWR Write Latency - Tip: Tweak SLOB/procedure.sql © Copyright 2014 EMC Corporation. All rights reserved. 15
  • 16.
    Single Host 2s16c32tRedo Payload vs Random Read Latency © Copyright 2014 EMC Corporation. All rights reserved. 16
  • 17.
    Cached SLOB ©Copyright 2014 EMC Corporation. All rights reserved. 17
  • 18.
    SLOB: slob.sql ©Copyright 2014 EMC Corporation. All rights reserved. 18
  • 19.
    Cached SLOB –Study CPU Scalability 2s16c32t E5-2600 5215 3020 SQL EXECUTIONS/Second 24397 34150 41657 49059 55820 60000 50000 40000 30000 20000 10000 0 0 5 10 15 20 25 30 35 40 45 EXECUTES © Copyright 2014 EMC Corporation. All rights reserved. 19
  • 20.
    Cached SLOB –Study CPU Scalability 2s16c32t E5-2600 1341608 776967 LIOPS 10723697 8791012 6280211 12629035 14369615 16000000 14000000 12000000 10000000 8000000 6000000 4000000 2000000 0 0 5 10 15 20 25 30 35 40 45 LIOPS © Copyright 2014 EMC Corporation. All rights reserved. 20
  • 21.
    Cached SLOB –Study CPU Scalability 2s16c32t E5-2600 © Copyright 2014 EMC Corporation. All rights reserved. 21
  • 22.
    Cached SLOB Focuson Intel SMT © Copyright 2014 EMC Corporation. All rights reserved. 22
  • 23.
    Understand Intel SMT © Copyright 2014 EMC Corporation. All rights reserved. 23
  • 24.
    Perf(1) top -skinny.sql © Copyright 2014 EMC Corporation. All rights reserved. 24
  • 25.
    Perf(1) top –fat.sql © Copyright 2014 EMC Corporation. All rights reserved. 25
  • 26.
    Understand Intel SMT © Copyright 2014 EMC Corporation. All rights reserved. 26
  • 27.
    Understand Intel SMT © Copyright 2014 EMC Corporation. All rights reserved. 27
  • 28.
    2-socket x86 serverperformance in the last decade • With CPU threading skinny.sql and fat.sql are oil and water as skinny forces fat to run on a thread == starvation since fat stalls less (see SQL) • Same number of “noise” sessions • Top case N fat.sql • Bottom case N skinny.sql + 1 fat.sql. © Copyright 2014 EMC Corporation. All rights reserved. 28
  • 29.
    In-Memory Column Store © Copyright 2014 EMC Corporation. All rights reserved. 29
  • 30.
    SLOB – AFocus on In-Memory Database Ÿ Study OLTP / In-Memory Database Option co-hosting – In-memory cache population (ingest) rates – Think “data flow”. Who is a producer and who is a consumer ▪ inmemory_max_populate_servers and PQO slaves – Co-hosted with OLTP © Copyright 2014 EMC Corporation. All rights reserved. 30
  • 31.
    Top(1) – In-MemoryDatabase Option © Copyright 2014 EMC Corporation. All rights reserved. 31
  • 32.
    SLOB – AFocus on In-Memory Database © Copyright 2014 EMC Corporation. All rights reserved. 32
  • 33.
    SLOB – AFocus on In-Memory Database © Copyright 2014 EMC Corporation. All rights reserved. 33
  • 34.
    SLOB – AFocus on In-Memory Database © Copyright 2014 EMC Corporation. All rights reserved. 34
  • 35.
    SLOB – AFocus on In-Memory Database © Copyright 2014 EMC Corporation. All rights reserved. 35
  • 36.
    SLOB – AFocus on In-Memory Database © Copyright 2014 EMC Corporation. All rights reserved. 36
  • 37.
    SLOB – AFocus on In-Memory Database © Copyright 2014 EMC Corporation. All rights reserved. 37
  • 38.
    Multitenant Oracle ©Copyright 2014 EMC Corporation. All rights reserved. 38
  • 39.
    SLOB – AFocus on Oracle Multitenant Ÿ Use SLOB to study Oracle Multitenant Ÿ What better way to understand a simple premise than to rely on a simple, predictable workload and test kit? © Copyright 2014 EMC Corporation. All rights reserved. 39
  • 40.
    SLOB – AFocus on Oracle Multitenant Ÿ http://www.oracle.com/technetwork/database/multitenant/ learn-more/oraclemultitenantt5-8-final-2185108.pdf, pg 23: “In Oracle Multitenant, great savings in CPU consumption arise from the sharing of background processes among databases, which can significantly reduce the amount of cores needed to support a given number of databases. “ Ÿ Hold it. To achieve great savings in CPU consumption, doesn’t that mean we must all accept the notion that background processing consumes a significant amount of CPU bandwidth? © Copyright 2014 EMC Corporation. All rights reserved. 40
  • 41.
    SLOB – AFocus on Oracle Multitenant Ÿ Background CPU – Scrutinize with SLOB. Know your platform. Now your costs and rates. – We are looking at BG behavior so this is UPDATE intensive SLOB – 2s20c40t E5-2690v2 host. – This is a single database! © Copyright 2014 EMC Corporation. All rights reserved. 41
  • 42.
    SLOB – AFocus on Oracle Multitenant Ÿ Testing to further understand a simple assertion. Ÿ The assertion: – Consolidating from multiple databases/instances into a single Oracle Multitenant deployment significantly reduces CPU overhead due to shared background processing © Copyright 2014 EMC Corporation. All rights reserved. 42
  • 43.
    Multitenant – HugeCPU savings? Simple assertion, simple baseline? © Copyright 2014 EMC Corporation. All rights reserved. 43
  • 44.
    Multitenant – HugeCPU savings? Ÿ Testing to further understand a simple assertion. Ÿ Should be simple enough, right? – SLOB – Simple to use, simple to understand. ▪ 40 simple schema users with zero data sharing – simple workload ▪ 40 databases each with — A single SLOB session — slob.conf->SCALE=668734 (5GB 100% randomly visited active data set) — slob.conf->UPDATE_PCT=25 (SQL mix 75% SELECT, 25% UPDATE) — Simple init.ora (next slide) — slob.conf->WORK_LOOP=100000 — Test on a 2s20c40t E5-2690v2 server Ÿ The metric is job completion – fixed workload. © Copyright 2014 EMC Corporation. All rights reserved. 44
  • 45.
    Multitenant – HugeCPU savings? Ÿ Testing to further understand a simple assertion. Ÿ The metric is job completion – fixed workload. Ÿ Which model pushes through 4,000,000 SQL executions faster? © Copyright 2014 EMC Corporation. All rights reserved. 45
  • 46.
    Testing Database Contention With SLOB? © Copyright 2014 EMC Corporation. All rights reserved. 46
  • 47.
    SLOB – TestingDatabase Contention Ÿ slob.conf->SHARED_DATA_MODULUS © Copyright 2014 EMC Corporation. All rights reserved. 47
  • 48.
    SLOB – TestingDatabase Contention Ÿ slob.conf->SHARED_DATA_MODULUS © Copyright 2014 EMC Corporation. All rights reserved. 48