Q: Runtime Controller in Jmeter Can you help me to explain relationship between time in Runtime Controller and Ramp_up period value of Thread group?
I tested 
Number of Thread: 1
Ramp_Up Period: 1
Loop count: 1
Runtime Controller: 5s
->Elapsed time of current running test: 5s
But with case
Number of Thread: 5
Ramp_Up Period: 5
Loop count: 1
Runtime Controller: 5s
->Elapsed time of current running test: 10s
I don't understand why it become 10s.
Could you help me to explain more?

A: Ramp up is the time to execute all threads, runtime is controlling each thread execution.
In your case, ramp up 5 seconds means last thread will be executed after 5 seconds. Last thread will enter runtime controller which will run 5 seconds of execution. Thus 10 seconds is the maximum of your execution.

A: Runtime Controller acts according to JMeter Scoping Rules so it defines how long its children are allowed to run. 
Normally you should be using it in conjunction with Loop Count = Forever or -1 on either Thread Group or Loop Controller level. 
So 


*

*if you want the whole test to run for 5 seconds - use "Scheduler" section of the Thread Group

*if you want only certain sampler(s) to run for 5 seconds - put them under the Runtime Controller, however the whole test duration will depend on when the last sampler enters the Runtime Controller


Also be aware that JMeter "asks" threads to stop so it might take some extra time to let them gracefully shut down. 
