I would suggest going for Constant Throughput Timer
Despite word "constant" in its name, you can use i.e. JMeter Property via __P() function as "Target Throughput" value.
Command-line: you can pass this property value via -J command-line argument like:
- in JMeter define i.e.
throughput
property as: ${__P(throughput,)}
- "tell" property value to JMeter as
jmeter -Jthroughput=100 -n -t ....
- There is no way to do it from JMeter GUI without restarting the test. In general it is not recommended to run JMeter test in GUI mode.
You can also amend the property value during the runtime
I'm pretty much sure that you'll receive a number of suggestions to use Test Action sampler from not very competent people who didn't bother to familiarize themselves with documentation which states:
TargetCurrent Thread / All Threads (ignored for Pause)
So please don't waste your time on the Test Action sampler