Load profile picture has spikes even if throttle used

Hi everyone,

I have an issue with load profile and need your advice. I am trying to make it smooth using throttle feature but still have spikes - I expect to get 5rps but getting spikes up to 20 rps and load goes to 0 rps before each spike. What I do wrong?

I have the following load setup:

 setUp(
   FirstRequestType.firstRequestTypeScn.inject(injectProfile)
 ).throttle(
   reachRps(5) in (10 seconds),
   holdFor(3 * durationMagnifier minute),
 ).
   protocols(AllApiRequestsRunner.jmsConfig.
   maxDuration(3 * durationMagnifier + 2 minutes)

https://gatling.io/docs/current/general/simulation_setup/?highlight=throttling#throttling:

It’s a bottleneck, ie an upper limit.

Throttling won’t make your throughput smooth if your scenario doesn’t inject sufficient load.

Personally, I really don’t like throttling. You’d be better with removing your forever loop and properly design your injection profile.