VMware Cloud Community
GunForHire
Contributor
Contributor

DVDStore - DS3 noob

Is DVDStore DS3 supported here?  I want to use it to load test a SQL Server for the purpose of consolidating a physical SQL server to virtualized.  For learning purposes, before I touch any production servers, I installed DS3 on a ESX 6 guest sandbox which is Win 2012.  I want to test load a SQL Server 2012 which is on the same guest.  Is that supported?  When I run the load, the SQL Server driver returns this...

Using WIN32 QueryPerformanceCounters for measuring response time

Performance Counter Category Test and Counter MaxRT exist

Thread 0: created for User 0

Controller (5/29/2017 5:03:57 PM): all threads running

Controller: n_threads_connected = 0 : ConnectionTimeOut remaining 60

Controller: n_threads_connected = 0 : ConnectionTimeOut remaining 59

.

.

Controller: n_threads_connected = 0 : ConnectionTimeOut remaining 1

Controller: ConnectTimeout reached : could not connect all threads, Aborting...

Can you advise what I need to do to get beyond the timeout issue?  Some setting in the DriverConfig.txt file?

Thanks.

0 Kudos
9 Replies
tmuirhead
Contributor
Contributor

I am happy to help you trouble shoot the problems you are having with DVD Store 3 (http://www.github.com/dvdstore) in this forum.

The error that you are getting indicates that the driver is unable to connect to the database server.  It is supported to do what you are describing - run DS3 on SQL Server 2012 on Windows Server 2012.  Please reply with the initial output from the driver program when you run it.  The reason is that this output will show all of the settings used and helps me to understand what is happening.

Also - did you run the InstallDVDStore.pl script?  This is a perl script which means that you will need to add perl to your windows guest to be able to use it.  This script will create all the needed load scripts and raw data csv files to create the test DS3 database.  After it completes - run the create_all script that was generated in the ds3\sqlserver directory.  If you get any errors - please post them.

There is a more detailed description of these steps in the readme and the Documentation.txt files in the ds3 package.

Finally - once this is complete you can use SQL Server Management Studio to check to see if the DS3 database was created with all of it's tables.

Thanks,

Todd

0 Kudos
GunForHire
Contributor
Contributor

Thanks Todd.  Below is the initial output that shows the parameters.  I probably overlooked something obvious.  Regarding access to SQL, I am running this testing on localhost, and my Windows login context is domain admin.  I wasn't sure if the driver might be trying to use 'sa' on the SQL instance, so I temporarily enabled sa with a blank password.  The DS3 database is created and populated.  I installed a Perl environment per the readme.  I recall from David Klee's video that a carriage return character is needed at the end of one of the SQL statements for DS2; however, I didn't do that here for DS3.

---

C:\DS3\sqlserverds3>ds3sqlserverdriver.exe --config_file=c:\ds3\DriverConfig.txt

Total number of Threads to be Spawned across multiple servers are n_threads: 1

target= mySERVERn_threads  n_threads= 1 ramp_rate= 10  run_time= 0  db_size= 1

0MB  warmup_time= 1  think_time= 0 pct_newcustomers= 20 pct_newmembers= 1  n_sea

rches= 3  search_batch_size= 5  n_reviews=3 pct_newreviews=5 pct_newhelpfulness=

10 n_line_items5 virt_dir= ds3  page_type= php windows_perf_host=  detailed_vie

w= N linux_perf_host=  output_file=  ds2_mode= N

Using WIN32 QueryPerformanceCounters for measuring response time

Performance Counter Category Test and Counter MaxRT exist

Thread 0: created for User 0

Controller (5/31/2017 8:07:48 AM): all threads running

Controller: n_threads_connected = 0 : ConnectionTimeOut remaining 60

Controller: n_threads_connected = 0 : ConnectionTimeOut remaining 59

Controller: n_threads_connected = 0 : ConnectionTimeOut remaining 58

Controller: n_threads_connected = 0 : ConnectionTimeOut remaining 57

Controller: n_threads_connected = 0 : ConnectionTimeOut remaining 56

.

.

0 Kudos
GunForHire
Contributor
Contributor

Forgot to mention that I also tried IP address in the parameters eventhough I'm on localhost.  I have not yet tried "localhost".

0 Kudos
tmuirhead
Contributor
Contributor

The string for the target host looks wrong in the output that you sent:

target= mySERVERn_threads

This could just be a typo where you replaced your real server name with mySERVER - and somehow n_threads got attached.  Just check to make sure that the target parameter is just your host name (or localhost or 127.0.0.1).  But I don't think this is the problem at all.

The driver program does not use windows authentication.  It actually uses a user called ds3user that is created by the create_all script for the database. There was a bug where the user was still ds2user that I fixed last month, and it appears that I did not get the driver code updated correctly.  So the driver is trying to login with ds2user, but the user that was created by the script is ds3user.  I will post an updated version of the driver program to github shortly (hopefully about 30 minutes).

The alternative is to create a ds2user login for SQL Server.  You could use the portion of the create_all script at the end that creates the ds3user, just change the name of the user to be ds2user.

Sorry for the problem - this was a mistake on my part.

Thanks,

Todd

0 Kudos
GunForHire
Contributor
Contributor

The build I downloaded did create DS3User.

When I open DriverConfig.txt, the parameters are all one long string, i.e., no LF/CR between.  I could be mistaken, buit I think the original file had LF/CR.  I'll try reformatting it and re-running.

0 Kudos
GunForHire
Contributor
Contributor

Re-ran with reformatted DriverConfig.txt (with CR after each parameter).  As you said, it is trying to connect as DS2User.  I'll grab the updated driver..

0 Kudos
GunForHire
Contributor
Contributor

Driver Sill not connecting to the database.  The SQL scripts create the ds3user login and a ds3DS3user on the DS3 database.  The driver would not connect, so I tried renaming ds3DS3user as ds3user.  Still won't connect.  Even tried rerunning the user account creation portion of the script.  SQL perms and roles seem to be as needed for access.

---

C:\DS3\sqlserverds3>ds3sqlserverdriver.exe --config_file=c:\ds3\DriverConfig.txt

Total number of Threads to be Spawned across multiple servers are n_threads: 1

target= 172.20.1.177 n_threads= 1  ramp_rate= 10  run_time= 0  db_size= 5GB  wa

rmup_time= 1  think_time= 0 pct_newcustomers= 20 pct_newmembers= 1  n_searches=

3  search_batch_size= 5  n_reviews=3 pct_newreviews=5 pct_newhelpfulness=10 n_li

ne_items5 virt_dir= ds3 page_type= php  windows_perf_host= 172.20.1.177 detaile

d_view= N linux_perf_host= output_file=  ds2_mode= N

Using WIN32 QueryPerformanceCounters for measuring response time

Performance Counter Category Test and Counter MaxRT exist

Thread 0: created for User 0

Thread 0: error in connecting to database 172.20.1.177: Login failed for user 'd

s3user'.

Thread 0: can't connect to 172.20.1.177; exiting

Controller (5/31/2017 10:29:29 AM): all threads running

0 Kudos
tmuirhead
Contributor
Contributor

I just downloaded the current package from github and used it to create everything for DS3 from scratch.  I then ran with the new driver successfully.  Please try to logon with 'ds3user' from the command prompt:

osql -Uds3user -P

Check in sql server management studio that the ds3user is created and is enabled.  The ds3user does not have a password.

Thanks,

Todd

0 Kudos
GunForHire
Contributor
Contributor

Working now.  The osql command threw an error 997.  Googled that and found that my test server was in Windows auth mode, and needs to be in mixed mode.  Thanks for your help!

0 Kudos