Hammerora is a load generation tool for Oracle 8i,9i and 10g on Linux/UNIX and Windows written in TCL/TK released under the GNU Public License.  Therefore with Hammerora there is no expensive per "Virtual User" licensing. You can create the desired number of sessions that your hardware will sustain.

The author is Steve Shaw who can be contacted at

smshaw@users.sourceforge.net

Hammerora has been designed as an Oracle only tool and does not compromise on performance for generality.  Hammerora interacts with the Oracle database using the OCI based Oratcl and web based environments using TclCurl.  Hammerora can therefore test all aspects of your Oracle enviroment including database and application server. For databases Hammerora can convert real Oracle trace files and replay them back with multiple users using Oratcl. There are also pre-built simluations based on the TPC-C and TPC-H benchmark specifcations in order that there are multi-user workloads that you can begin to use straight away.

TCL has been used as it provides high performance associated with the C programming language that the language is written in without the inconvenience or expertise required to recompile generated load testing programs. TCL is also exceptionaly light on system resources meaning that a notebook or desktop system can easily load test a powerful database or application server environment. The power, flexibility and extensibility of TCL means that the potential functionality is unlimited and its 'hot pluggable' architecture means any required functionality can be added to the multi-threaded user framework enabled by TCL Threads. For example users looking to test TimesTen may wish to investigate the TclODBC package.

Using Hammerora is straightforward and easy and the following gives a brief overview and introduction to using the application. For installation see the information provided on the installation page. After a successful install you are presented with the default Hammerora editor and virtual user windows. The editor pane provides the focal point of Hammerora functionality. Within this pane you will load, write or convert a trace file to produce a script written in the TCL language.

blank

When working with HTML testing you will need the script to specify that it needs the TclCurl package. This example below shows the in-built TPC-C driver script specifying that it needs the Oratcl package. More information on getting started with these scripts is available on the documentation page. When you have a working script you will need to create a number of virtual users who will run the workload you have written. To create the virtual users enter the values in the Vuser options dialog box selected under the Virtual Users menu (see the XML configuration file details on the documentation page for a description of the fields) and press the Load Virtual Users button. These virtual users are implemented as separate threads and thereby run independently of each other (although it is easy to communicate between the threads or direct threads to run different workloads if desired).  The following shows  Hammerora with a loaded script and an number of virtual users created and ready to run the workload.

ready

On opting to run a Hammeora load test by pressing the Run Hammerora Loadtest button the icons of the virtual users will change to show the actions that each user is taking at that moment in time. The following image shows a number of virtual users all currently busy executing the workload chosen.

in progress

You also have the option when creating the virtual users to display the output of each virtual user individually and to optinally log the output to a text file. The output screen will display in a grid format the most recent output of all the users you have created.

output

If the workload completes successfully the status will be displayed as such within the virtual user status.

complete

Similarly if there is an uncaught error the status will also be displayed for the virtual users. If errors occur the error message will be displayed in the console. The following example shows that the virtual users could not log on becasue the service name in the connect string was incorrect.

failed

It is worth re-iterating that each virtual user operates independently within its own thread resulting in a highly efficient environment for genrating multi-user simultations to load test Oracle environments.

multithread

It is now recommended to proceed to the documentation page to learn more about getting started with using Hammerora.