SQL Server benchmarking HammerDb TPM = 0

peet 08/16/2018. 2 answers, 57 views
sql-server hammerdb

I'm trying to use HammerDb 3.0 to get a baseline to compare my servers.

I can create the Db, schema, data and items required no problem. I can execute the test and see that it's running.

When the script completes it give me a NOPM number but says TPM is zero. When it's running the Transaction counter doesn't graph anything either.

Is this a known or common problem?

enter image description here

2 Answers


user131743 08/20/2018.

The size of the value returned from the query is the issue. HammerDB is using the TCL command "string is integer" to check the value returned from SQL Server. This command checks for a 32-bit integer and as your value exceeds this is returning an error. To correct this in the graphical transaction counter from the home directory edit the file in src\mssqlserver\mssqlsotc.tcl and find and change the line "string is integer" to "string is entier", it will look like this:

if { [ string is entier -strict $tc_trans ] } {

Similarly to correct this in the output of the OLTP/TPC-C test

edit the file in src\mssqlserver\mssqlsoltp.tcl

if { [ string is entier -strict $end_trans ] && [ string is entier -strict $start_trans ] } {

This will permit the larger values to be displayed.


user131743 08/16/2018.

The error is in the output as "SQL Server returned non-numeric transaction count data". TPM is the same as the transaction count in the SSMS activity monitor ie "Batches/sec". NOPM is queried directly from the schema under test. (TPM is a database specific metric NOPM is database independent). It appears that workload is running OK but SQL Server is not returning transaction counter data. The first thing to check is whether SQL Server has been started with the "-X" option. This disables all performance statistics and would result in this effect. Secondly run the following SQL:

select cntr_value from sys.dm_os_performance_counters where counter_name = 'Batch Requests/sec'

This is what HammerDB runs (you can see it i nthe source code) - when this query works HammerDB should be able to monitor and report transactions.

For saving details more information is required.

Related questions

Hot questions

Language

Popular Tags