Minimize
Blogger List

Johannes Ahrends
Toad and Oracle

Ben Boise
Toad SC Discussions

Kevin Dalton
Benchmark Factory

Steven Feuerstein
PL/SQL Obsession

Devin Gallagher
Toad SC discussions

Stuart Hodgins
JProbe Discussions

  Henrik "Mauritz" Johnson
Toad Tips & Tricks on the "other" Toads
  Mark Kurtz
Toad SC discussions
  Michael Lumbard
Toad SC discussions
Daniel Norwood
Toad for Data Analysts,
Toad Extension for Visual Studio
Debbie Peabody
Toad for Data Analysts
Gary Piper
Toad Reports Manager
John Pocknell
Toad for Oracle, JProbe
Kuljit Sangha
Toad SC discussions
Bert Scalzo Indicates Oracle ACE status
Toad for Oracle, Data Modeling, Benchmarking
Jeff Smith
Toad product family
Richard To
SQL Optimization
Jim Wankowski
DB2 - LUW and z/OS
John Weathington
  Toad Data Modeler Opens in a new window
Data Modeling
 
  Real Automated Code Testing for Oracle
Quest Code Tester blog
 
Minimize
Blog Tags
toad for oracle (122)
oracle (62)
plsql (46)
sql optimization (37)
toad for data analysts (28)
code tester (19)
toad for ibm db2 (13)
automation (11)
batch optimizer (10)
virtualization (10)
schema browser (9)
toad for sql server (9)
data grid (8)
sql (8)
sql editor (8)
toad data modeler (8)
benchmark factory (7)
excel (7)
query builder (7)
report manager (7)
toad extension (7)
visual studio (7)
11g (6)
configuration (6)
freeware (6)
health check (6)
vmware (6)
connect (5)
dba module (5)
er diagrammer (5)
F4 (5)
linux (5)
refactoring (5)
spotlight (5)
unicode (5)
compare (4)
debugger (4)
export (4)
formatter (4)
make code (4)
rman (4)
strip code (4)
benchmark (3)
bfscript (3)
bulk collect (3)
code templates (3)
code xpert (3)
database browser (3)
db2 (3)
notebook (3)
oem (3)
RAC (3)
session browser (3)
speed (3)
sql optimizer (3)
toad for mysql (3)
tpc-c (3)
9.7 (2)
alert log (2)
app designer (2)
awr (2)
code insight (2)
code snippets (2)
collection (2)
compare and sync (2)
compliance (2)
data generator (2)
data warehouse (2)
database explorer (2)
database monitor (2)
explain (2)
forall (2)
ftp (2)
group execute (2)
handbook (2)
installation (2)
job scheduler (2)
multi-task (2)
nested table (2)
os command (2)
profiler (2)
recovery (2)
release history (2)
save as (2)
schema compare (2)
sql recall (2)
stats pack (2)
subversion (2)
team coding (2)
trace file browser (2)
while loop (2)
10g (1)
64 bit (1)
7zip (1)
action (1)
addm (1)
alter (1)
ansi join (1)
array (1)
ccleaner (1)
code coverage (1)
code road map (1)
CRON (1)
cursor for loop (1)
data browser (1)
data subset (1)
database probe (1)
dbms_flashback (1)
dbms_profiler (1)
ddl (1)
feuerstein (1)
filezilla (1)
flash drive (1)
flow control (1)
for loop (1)
group policy manager (1)
hints (1)
import (1)
index (1)
inheritance (1)
invoker rights (1)
ipad (1)
java (1)
latency (1)
log switch (1)
logical model (1)
ltrim (1)
master-detail browser (1)
monitor (1)
multi-select (1)
naming standards (1)
network (1)
object explorer (1)
OEBS (1)
package (1)
parser (1)
partitioning (1)
performance (1)
pragma (1)
project manager (1)
RAT (1)
revo (1)
REXEC (1)
schema report (1)
script manager (1)
search (1)
set operator (1)
sga (1)
slow (1)
sonarsource (1)
source control (1)
space projection (1)
sql monitor (1)
sql navigator (1)
sql script (1)
sql tracker (1)
sql*plus (1)
standards (1)
statistics (1)
stored procedure (1)
string parser (1)
sub-model (1)
sub-type (1)
synch (1)
synchback (1)
TELNET (1)
toad (1)
trace (1)
unit test (1)
unix (1)
usb (1)
utility (1)
v10 (1)
v9.5 (1)
version control (1)
waits (1)
workload replay (1)
workspace (1)
xml (1)
 
WELCOME, GUEST
 
 

Blogs
Toad and Database Commentaries

Toad World blogs are a mix of insightful how-tos from Quest experts as well as their commentary on experiences with new database technologies.  Have some views of your own to share?  Post your comments!  Note:  Comments are restricted to registered Toad World users.

Do you have a topic that you'd like discussed?  We'd love to hear from you.  Send us your idea for a blog topic.


May 19

Written by: Bert
Tuesday, May 19, 2009 5:33 PM  RssIcon

The last two posts have covered popular misconceptions or “urban myths” myths when measuring and performing benchmarks. That might seem like the “whole enchilada”, but there's yet one more critical aspect to successful benchmarking – preparation. I encounter numerous people who believe that they can simply assemble the necessary hardware, install the OS, install the database software, create the database, and then have at it. And usually they allocate just two to four weeks for all of this work. I'm reminded from my youth of the Boy Scout's motto – “Be prepared”. That's the single most important aspect to benchmarking – and yet often one of the most overlooked.
 
For example, many people will choose to run an industry standard benchmark such as the TPC-C for OLTP or the TPC-H for data warehousing. Usually they are relying on tools such as Quest Software's Benchmark Factory (BMF) to handle the bulk of the work – and that too is fine. But they don't read the TPC spec for the test they're about to perform, so when BMF asks them a question such as how big to scale the WAREHOUSE table – they're not really and truly prepared to answer intelligibly. The point is that the benchmarking tools assume a certain minimal familiarity with the benchmark and its spec. So if you're going to run an industry standard benchmark such as the TPC-C or TPC-H, you really need to read the spec. They can be found at www.tpc.org.
 
OK – so now you've read the spec. But remember last week's post about tools not being able to auto-magically build fully optimized database structures (i.e. already clustered or partitioned) since it does not know about your hardware. Well there's preparation for that too. After you've read the benchmark spec and now have some appreciation for what you're about to do, then read the full disclosure reports posted by people who've already performed and optimized these very same tests. You will find those too at www.tpc.org. For example IBM, Dell and HP post lots of great benchmarking results. You'll find that Appendix A of any disclosure reports contains the complete SQL DDL (Data Definition Language) commands they used to achieve their stellar results. Therefore simply find a disclosure report where the person was using similar database servers and disk storage hardware as you have, and then look to their DDL to see how you might best create your database objects.
 
You also will see some common themes across the DDL regardless of the hardware. For example all the TPC-C disclosure reports generally CLUSTER the DISTRICT table. The reason is simple. All the thousands of concurrent OLTP transactions must fight each other to update the very few rows in this table. Remember how back before sequence number generators we used to use counters in sequence table – and how that was a huge bottleneck? Well that's essentially what the TPC-C benchmark does. The DISTRICT table contains a “counter variable” column that all the transactions for the same district must update. Hence you'll see huge row contention within this table. By merely forcing each district row or record to go into its own block, the majority of the bottleneck is eliminated. And this is but a technique most Oracle DBA's and developers know about. But you need to understand the test in order to apply your wisdom and insights.
 
Hence why I always tell people – look before you leap. Benchmarking requires lots of preparation and understanding to best meet your expectations. But when you're prepared, benchmarking is really not all that tough – and getting stellar results is not as hard as people might think.

Tags: oracle , benchmark , tpc-c
Categories:
Search Blog Entries