apache / apache/jmeter

Add an ability to have server groups which can be allocated to certain Thread Group during Distributed Load scenario

Open
#5,801 1 comment 0 reactions 0 assignees View on GitHub
enhancement to-triage
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.