01 - Running Swingbench

SwingBench can now be started to produce a transaction load and simulate an order-entry system to test the replication. 

Start a new terminal session on the source server, as oracle.

  1. In the $HOME/scripts directory, execute the run_swingbench.bash script to start the charbench utility which is the character based version of SwingBench.
[oracle@source ~]$ cd $HOME/scripts
[oracle@source replicate]$ ./run_swingbench.bash

The command that will be executed by the script is a very simple one... you can do this on the command line instead of running the script. 

#/bin/bash

# -cs <connect_string>
# -u <schema_user>
# -p <schema_user_password>
# -uc <simulated_user_count>
# -min <min_transaction_think_time_in_milliseconds>
# -max <max_transaction_think_time_in_milliseconds>
# -rt <runtime_hh:mi>
# -a run automatically
# -v display run statistics

/u01/app/oracle/swingbench/bin/charbench -cs //source/XE -u repoe -p repoe -uc 10 -min 5 -max 200 -rt 0:10 -a -v

The output will be similar to the following and will run for 10 minutes. A total number of 10 users will be simulated.

Author  :	 Dominic Giles
Version :	 2.5.0.932
Results will be written to results.xml.
Time		Users	TPM	TPS
8:39:02 PM	0	0	0
8:39:03 PM	0	0	0
8:39:04 PM	0	0	0
8:39:05 PM	2	0	0
8:39:06 PM	10	10	10
8:39:07 PM	10	23	13
<<output continues>>

If you want to stop SwingBench before the 10 minutes is up, just hit Ctrl C in the terminal window where it's running to interrupt it.

While the SwingBench is running - keep an eye on your dbvisit console (The dbvisit console should still be running. if not restart the dbvisit console on the source server - cd $HOME/dbvrep_XE  and ./start-console.sh )

It is easy to change the parameters of swingbench to change the load and the time that it runs.

The parameters are:

  • uc. How many users to simulate
  • rt. Run time. How long to run the simulation for
  • min. Transaction think time minimum
  • max. Transaction think time maximum

All command line options are listed here

 

3. Optional. Swingbench is highly configurable. The load on the system can be easily increased. In this example, the number of users is set to 40 and the min and max delay is shortened. As a result the TPS peaks at over 400 transactions per second. 

Your laptop has to be powerful enough to handle this load and a large number of archived redo logs will be generated that may fill up the disk space.


/u01/app/oracle/swingbench/bin/charbench -cs //source/XE -u repoe -p repoe -uc 40 -min 5 -max 15 -rt 0:10 -a -v
Author  :	 Dominic Giles
Version :	 2.5.0.932
Results will be written to results.xml.
Time		Users	TPM	TPS
20:53:05	[0/40]	0	0
20:53:06	[0/40]	0	0
20:53:07	[0/40]	0	0
20:53:08	[0/40]	0	0
20:53:10	[31/40]	0	0
20:53:13	[40/40]	440	440
20:53:14	[40/40]	478	38
20:53:18	[40/40]	913	435
20:53:19	[40/40]	967	54
20:53:22	[40/40]	1410	443
20:53:23	[40/40]	1446	36
20:53:25	[40/40]	1745	299
20:53:26	[40/40]	1885	140

Right, that should have given the replication something to do. Lets return to the Replication Console and see what's happening.