Search code examples
jmeterdistributed-testing

How STS(Simple table server) actually work on JMeter scripts especially in distributed testing


Lets's say I have a test data for login transaction of 500 users

I am distributing the load with 1 master and 2 slaves.

where first slave picks 200 login credentials and next picks another 200 but not the first 200.

How can I achieve this..? Also do we need to start the simple table server on slaves too..? if yes, How to do that. Manually or is there any other way trigger it from master

Thanks in advance. I want to implement this for someone


Solution

  • The official documentation is kind of quite comprehensive

    enter image description here

    1. STS needs to be installed on master machine only, the values are retrieved using "normal" HTTP Request samplers. In order to start STS automatically add the next lines to user.properties file:

      jmeterPlugin.sts.loadAndRunOnStartup=true
      jmeterPlugin.sts.port=9191
      jmeterPlugin.sts.initFileAtStartupRegex=false
      jmeterPlugin.sts.initFileAtStartup=/path/to/your/file/with/credentials.csv 
      
    2. You won't be able to "reserve" first 200 lines for 1st slave, once any slave performs READ operation the "used" entry is either moved to the end of the queue or removed, depending on KEEP parameter value