Database Reference
In-Depth Information
Distributed Replay for Database Testing
Assuming you used the Distributed Replay template to capture your trace information, you should be ready to start
processing the files. As noted earlier, the first step is to convert the trace file into a different format, one that can be
split up among multiple client machines for playback. But there is more to it than simply running the executable
against your file. You also need to make some decisions about how you want the Distributed Replay to run; you make
those decisions when you preprocess the trace file.
The decisions are fairly straightforward. First, you need to decide whether you're going to replay system
processes along with the user processes. Unless you're dealing with the potential of specific system issues, I suggest
setting this value to No . This is also the default value. Second, you need to decide how you want to deal with idle time.
You can use the actual values for how often calls were made to the database; or, you can put in a value, measured in
seconds, to limit the wait time to no more than that value. It really depends on what type of playback you're going to
run. Assuming you use Synchronization mode playback, the mode best suited for straight performance measurement,
it's a good idea to eliminate idle time by setting the value to something low, such as three to five seconds.
If you choose to use the default values, you don't need to modify the configuration file. But if you've
chosen to include the system calls or to change the idle time, then you'll need to change the configuration file,
DReplay.Exe.Preprocess.config . It's a simple XML configuration file. The one I'm using looks like this:
<?xml version="1.0" encoding="utf-8"?>
<Options>
<PreprocessModifiers>
<IncSystemSession>No</IncSystemSession>
<MaxIdleTime>2</MaxIdleTime>
</PreprocessModifiers>
</Options>
I've made only one change, adjusting MaxIdleTime to limit any down period during the playback.
Before you run the preprocessing, make sure have installed the DRController and that the DReplay service is
running on your system. If so, you'll just need to call DReplay.exe to execute the preprocessing.
dreplay preprocess -i c:\data\dr.trc -d c:\DRProcess
In the preceding code, you can see that dreplay runs the preprocess event. The input file was supplied by the -i
parameter, and a folder to hold the output was supplied through the -d parameter. The trace files will be processed,
and the output will go to the folder specified. The output will look something like Figure 24-4 .
Figure 24-4. Output from the preprocessing steps of Distributed Replay
With the preprocessing complete, you're ready to move ahead with running the Distributed Replay process.
Before you do so, however, you need to make sure you have one or more client systems ready to go.
 
Search WWH ::




Custom Search