Add an ability to have server groups which can be allocated to certain Thread Group during Distributed Load scenario
- Dominant language
- Java
- Stars
- 9.5k
- Forks
- 2.3k
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 5
Description
### Use case
there is distributed load scenario when certain script due to dependencies can be run only from certain Servers
for example:
Load Environment configuration
Server Group1: Server1, Server2
Server Group 2: Server 3
Test Script:
Thread Group 1: should be run on Server Group 1 -> which means share load on two servers: Server 1 and Server 2
Thread Group 2: should be run only on Server Group 2 -> which means only on Server 3
Additional cases:
Default: by default behavior should be as current one -> all Thread running on all identified server
Allocated Threads: should be running only on allocated server groups
Unallocated Thread groups: should be running on UnAllocated Server Groups:
for example:
for example:
Load Environment configuration
Server Group1: Server1, Server2
Server Group 2: Server 3
Test Script has 3 Thread groups
Thread Group 1: allocated to Server Group 2
Thread group 2: unallocated and should be running on Server Group 1
Thread group 3: unallocated and should be running on Server Group 1
### Possible solution
during distributed env configuration: add ability define server groups and assign servers to the group
for example
-R option SG1: Server1, Server2 SG2: Server3, Server4 SG3: Server5
in UI thread group may have an option to allocate Thread group to Server Group from Remote config configuration
Allocations should be stored somewhere - can be Jmeter Properties, Test Script itself 0 it may depend on configuration
### Possible workarounds
alternative solution done by Load RUnner and similar tools:
all servers are independent from each other by Thread Group may require some condition to be able run on certain server
for example Environment\User variable
Thread Group1 requires Java and looking for Java Home as defined variable on Server
Thread Group2 has no requirements and can be run on any server
Thread Group3 requires to have MYAPP variable as defined to be able to run specific load
this approach doesn't require changes into remote server configuration but may require provide querying for ability to run certain Thread group
Condition to run Thread should be part of test script, absence of those means by default current behavior - means everything can be run everywhere.
### JMeter Version
5.5
### Java Version
JDK 8
### OS Version
Windows 10
Contributor guide
Assessment
This issue has not been assessed yet.