Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

24 hours performance test execution stopped abruptly running in jmeter pod in AKS

I am running load test of 24 hours using Jmeter in Azure Kubernetes service. I am using Throughput shaping timer in my jmx file. No listener is added as part of jmx file. My test stopped abruptly after 6 or 7 hrs.

jmeter-server.log file under Jmeter slave pod is giving warning --> WARN k.a.j.t.VariableThroughputTimer: No free threads left in worker pool.

Below is snapshot from jmeter-server.log file. enter image description here

Using Jmeter version - 5.2.1 and Kubernetes version - 1.19.6

I checked, Jmeter pods for master and slaves are continously running(no restart happened) in AKS. I provided 2GB memory to Jmeter slave pod still load test is stopped abruptly. I am using log analytics workspace for logging. Checked ContainerLog table not getting error.

Snapshot of JMX file. Using following elements -> Thread Group, Throughput Controller, Http request Sampler and Throughput Shaping Timer enter image description here

Please suggest for same.

like image 256
Amit Agrawal Avatar asked Dec 07 '25 03:12

Amit Agrawal


1 Answers

It looks like your Schedule Feedback Function configuration is wrong in its last parameter

enter image description here

The warning means that the Throughput Shaping Timer attempts to increase the number of threads to reach/maintain the desired concurrency but it doesn't have enough threads in order to do this.

So either increase this Spare threads ration to be closer to 1 if you're using a float value for percentage or increment the absolute value in order to match the number of threads.

Quote from documentation:

Example function call: ${__tstFeedback(tst-name,1,100,10)} , where "tst-name" is name of Throughput Shaping Timer to integrate with, 1 and 100 are starting threads and max allowed threads, 10 is how many spare threads to keep in thread pool. If spare threads parameter is a float value <1, then it is interpreted as a ratio relative to the current estimate of threads needed. If above 1, spare threads is interpreted as an absolute count.

More information: Using JMeter’s Throughput Shaping Timer Plugin

However it doesn't explain the premature termination of the test so ensure that there are no errors in jmeter/k8s logs, one of the possible reasons is that JMeter process is being terminated by OOMKiller

like image 139
Dmitri T Avatar answered Dec 09 '25 20:12

Dmitri T



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!