To monitor all the SQL MIs simultaneously, we used HammerDB CLI automation. This section describes how we configured the auto build and auto drive dictionary parameters for the testing.
dbset db mssqls
diset connection mssqls_server 192.168.101.xxx
diset connection mssqls_tcp true
diset connection mssqls_port 1433
diset connection mssqls_authentication sql
diset connection mssqls_odbc_driver ODBC Driver 17 for SQL Server
diset tpcc mssqls_count_ware 200
diset tpcc mssqls_num_vu 30
vuset logtotemp 1
TPC-C baseline configuration – for every environment – for every test
Table 7. SQL table row counts for full prepared – 200 warehouse TPC-C database
Table Name |
Row Count |
[dbo].[customer] |
6000000 |
[dbo].[district] |
2000 |
[dbo].[history] |
6000000 |
[dbo].[item] |
100000 |
[dbo].[new_order] |
1800000 |
[dbo].[order_line] |
59993622 |
[dbo].[orders] |
6000000 |
[dbo].[stock] |
20000000 |
[dbo].[warehouse] |
200 |
dbset db mssqls
diset connection mssqls_server 192.168.101.xxx
diset connection mssqls_tcp true
diset connection mssqls_port 1433
diset connection mssqls_authentication sql
diset connection mssqls_odbc_driver ODBC Driver 17 for SQL Server
diset connection mssqls_keyandthink false
diset tpcc mssqls_total_iterations = 1000000
diset tpcc mssqls_driver timed
diset tpcc mssqls_rampup 1
diset tpcc mssqls_duration 9
diset tpcc mssqls_checkpoint true
diset tpcc mssqls_allwarehouse true
diset tpcc mssqls_timeprofile true
Our total duration run time, per virtual user, is 11 minutes. Autopilot was configured as follows:
loadscript
puts "SEQUENCE STARTED"
foreach z { 4 9 14 19 } {
puts "$z VU TEST"
vuset vu $z
vucreate
puts "TCOUNTER STARTED"
tcstart
tcstatus
vurun
#Runtimer, set in seconds, must exceed rampup + duration 660 = 11 min
#Rampup 1, Duration 9, 1 extra minute to capture TPM
runtimer 660
vudestroy
after 5000
}