-
Steps to reproduce (using any databases, like mssqls or postgres) Open hammerdbcli.bat
|
Beta Was this translation helpful? Give feedback.
Replies: 14 comments
-
A few things here. Firstly the code that runs the workload in the CLI is exactly the same as the code in the GUI (this part of the code is shared) - so one troubleshooting exercise is to repeat the finding with the GUI. Secondly you are loading a customscript so a lot does depend on what is in the customscript and how much it differs from the standard scripts that are loaded. Thirdly - depending on your I/O configuration and the rampup time and the buffer cache size the workload will spend a lot of time initially reading data from disk and loading it into the cache - you can see this from your database statistics - therefore if you watch the first workload while running the transaction counter you will see a ramp up in the graph of the workload. Running the transaction counter is good practice for troubleshooting anyway as you are aiming for a flat graph at peak transaction rates. |
Beta Was this translation helpful? Give feedback.
-
Okey, here's the detailed steps. Firstly, let's have a look at what we get from running "loadscript": dbset db mssqls diset connection mssqls_tcp true diset connection mssqls_server test-server-01 diset tpcc mssqls_count_ware 16 vudestroy diset tpcc mssqls_driver timed % loadscript #save it to c1.tcl % vuset vu 4 We set the virtual-user number as 4, |
Beta Was this translation helpful? Give feedback.
-
Then, let's see how "customscript" run: dbset db mssqls diset connection mssqls_tcp true diset connection mssqls_server test-server-01 diset tpcc mssqls_count_ware 16 vudestroy diset tpcc mssqls_driver timed % customscript c1.tcl % vuset vu 4 Now, we can see, even we set the vu as 4, but only 4 virtual users are created. The final benchmark results also confirm that there are only 3 virtual users. |
Beta Was this translation helpful? Give feedback.
-
That's the difference between loadscript and customscript, is that expected? |
Beta Was this translation helpful? Give feedback.
-
For customscript: % vurun |
Beta Was this translation helpful? Give feedback.
-
The full log: hammerdb>customscript c1.tcl hammerdb>vuset vu 4 hammerdb>vuset logtotemp 0 hammerdb>vucreate hammerdb>vurun hammerdb> hammerdb> Vuser 1:Rampup 1 minutes complete ... |
Beta Was this translation helpful? Give feedback.
-
Yes the difference between loadscript for a timed workload and customscript is expected and intentional. When a timed script is loaded it creates an additional virtual user for monitoring. The best way to observe this behaviour is using the GUI. Then select a test script and load it - you can see that there is no additional monitoring virtual user. If you choose a customscript this is the same as selecting file load from the menu. HammerDB cannot know what your script contains so it does not create the monitor. This is all expected behaviour. As background the reason for this functionality was that it was observed that testers beginning with HammerDB would often make the mistake of running a timed script with 1 virtual user and therefore ran a monitor only without any active virtual users running the workload. Therefore the default behaviour was changed to create the monitor automatically for a timed workload. As noted previously it is recommended to use the GUI to see how this operates. |
Beta Was this translation helpful? Give feedback.
-
Issue closed as behaviour is as expected |
Beta Was this translation helpful? Give feedback.
-
It obviously does not make sense. hammerdb>vuset vu 4 but, finally got: Vuser 1:3 Active Virtual Users configured |
Beta Was this translation helpful? Give feedback.
-
Please use the GUI to get familiar with how HammerDB works and then move to the CLI. You should also be looking for larger warehouse counts and longer rampup and test times for correct testing. The TPM and NOPM can go into multiple millions of transactions so your tests are at the very low end of performance for now. |
Beta Was this translation helpful? Give feedback.
-
I mean this inconsistency: vuset vu 4 but |
Beta Was this translation helpful? Give feedback.
-
Sorry, I think it is my fault that I did not express clearly. |
Beta Was this translation helpful? Give feedback.
-
When I test with 1 virtual user: for the customscript, will get: 0 Active Virtual Users configured That's what I said, the weird number of TPM. |
Beta Was this translation helpful? Give feedback.
-
Yes correct this behaviour is exactly as described above - there are 0 Active Virtual Users so only the monitor virtual user is running so there are no transactions. Clearscript will reset the status before loadscript. |
Beta Was this translation helpful? Give feedback.
Yes the difference between loadscript for a timed workload and customscript is expected and intentional. When a timed script is loaded it creates an additional virtual user for monitoring. The best way to observe this behaviour is using the GUI. Then select a test script and load it - you can see that there is no additional monitoring virtual user. If you choose a customscript this is the same as selecting file load from the menu. HammerDB cannot know what your script contains so it does not create the monitor. This is all expected behaviour. As background the reason for this functionality was that it was observed that testers beginning with HammerDB would often make the mistake of runnin…