-
Notifications
You must be signed in to change notification settings - Fork 0
Home
To get started, download this repository to your local machine. To use any of the branches, build with Visual Studio. For example, if you prefer C#, compile the Load and Proc modules in the CSharp folder.
Out of the box, the Load module will install 10 millions rows of data into a predefined table on a specified SQL Server (see the createdb script in the SQL directory). After completing the load, verify that the database table has 10 million rows (e.g.: select count(*) from TestTransaction;
), then install the stored procedures (also in the SQL folder). Next, run the Proc module to perform a 50-50 mix of predefined update and select transactions using the procedures. Verify its operation by checking the TestTransaction table for increasing non-zero amounts. (Again, the SQL directory has a query for that.)
When you are ready to increase the transaction rate, you can do that in a combination of four ways: 1) increase the thread instance count, 2) reduce the interval think time, 3) increase the number of application instances, and/or 4) run the Proc executable on additional computers.
By default, the Load and Proc modules are designed with an expectation of 10 million rows of data in the TestTransaction table. If this number is adjusted in Load for any reason, then a corresponding change must be made in Proc, such that the selection/update transactions continue to match valid rows. For instance, if you wish to reduce the row count to 3 million, be sure to re-synchronize the code in the Load and Proc modules.
Several scripts in the SQL directory can help with database management.
If the data load process is interrupted, the partially loaded data should be removed in preparation for a restart. The Delete.txt
script contains options for removal. Table truncation is probably the most efficient.
If desired, the Amount field can be reset to zero amount with the ResetAmounts.txt
script.
To check progression of an initialized table, run the CountOverZero.txt
script. A simple count of items with Amount over zero is returned.
If attempting to connect to a development version of SQL Server (SQL Express), run the SQL Server Configuration Manager, open the SQL Server Network Configuration item, then select Protocols for MSSQLSERVER. Enable TCP/IP.
If attempting to connect to a Windows server from a Macintosh, you may specify the server by IP address. Otherwise, the hosts file would need an entry to map the server name to an IP address.
Does this repository contain the original Database Hammer (DBHammer) code? No, but the VB6 folder contains an updated variant of the original with several improvements and additions.
Can I establish workload benchmarks with this tool? Yes, check here for published technical reports which utilized the earlier version (v6.1).
Where can I find VB6? Check here