Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Internal Benchmarking

Re: Internal Benchmarking

From: George Schlossnagle <george_at_omniti.com>
Date: Fri, 16 Nov 2001 09:09:00 -0800
Message-ID: <F001.003C78D8.20011116083028@fatcity.com>

I wrote a Perl DBDI/DBD::Oracle port of Morle's dbaman scripts.  It's available at <A
href="http://www.omniti.org/~george/trace2perl/trace2perl.pl">http://www.omniti.org/~george/trace2perl/trace2perl.pl.  Should work w/o problemsanywhere DBD::Oracle is installed. <BLOCKQUOTE
style="BORDER-LEFT: #000000 2px solid; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px">

  I've had some luck with the tools described in Scaling   Oracle8i by Morle.  It has and awk script to parse out 10046 event trace   sql and bind variable information and produce a tcl script suitable for   dbaman.  Dbaman is an extended tcl shell sotra-likea oratcl.  I've   used it to run sql that I have captured by setting event 10046.  I turn   on tracing for the system and for sessions already running.  After the   time period has elapsed I turn it off and proceed to collect all trace files   into a working directory.  I then feed each trace file into the awk   script to produce the dbaman tcl script.  I use a separate instance of   dbaman to process each tcl file.  I then reload the database from a   golden copy and re-run the scripts, then repeat until I reach my tuning   goal.
  A few gotcha's; the current dbaman works with 7.3   libraries.  And it has a quirk with the interpretation of the bind   variables.  If the bind variable begins with a number then it assumes   that the rest of the characters are also numbers, so it chokes on "123ABC"   when it fires of an execute operation.  I dug into the dbaman code, found   the IF-THEN line that was checking the first character and commented out the   entire statement.  I rebuilt dbaman according to the instructions and it   worked.  I'll post the changes if you are going to pursue   dbaman.
  The only thing I didn't try was to simulate the think/latency   time.  But that time can be extracted from the tim column in the sql   trace file.  I would do this in the awk script that is doing the initial   translation of raw trace to dbaman tcl.  The tim value is in 100'ths of a   second but I don't know how to convert it to actual time of day.  But the   relative time between statements can be derived from it.   HTH. Tony Aponte
  -----Original Message----- From: Orr,   Steve [mailto:sorr_at_rightnow.com]
  Sent: Wednesday, November 14, 2001 4:00 PM <FONT   size=2>To: Multiple recipients of list ORACLE-L <FONT   size=2>Subject: Internal Benchmarking   Howdy All,
  I want to create some database-only benchmarking scripts to   reflect a typical day in the life of a custom   application. I'm thinking about using LogMiner to get   the redo and v$sqlarea to derive a representative mix of <FONT   size=2>queries. Maybe we can also sniff/parse the network traffic to the DB   server. Since I'm looking only at database activity   I'm not too keen on applications which merely record   and replay end-user keystrokes and mouse clicks but I <FONT   size=2>would like to mimic delays in transaction commits due to network   latency and user indecision or whatever. I'd also like   to be able to increase the load intensity by factors   of 10 to 1000. Has anyone created any application <FONT   size=2>specific benchmark routines and can you share some tips on how to do   this? Any good tools that you have used? Any comments   on Mercury Interactive stuff? Other ideas?   AtDhVaAnNkCsE, Steve Orr

Received on Fri Nov 16 2001 - 11:09:00 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US