injection rate


I am relatively new to Gatling and Scala. I have scenario set up. I need a simulation with steady TPS for specific period of time.

My scenario consists of 7 steps (7 exec calls)
I need 1 min ramp up, 180 calls per min which is 3 tps for 2 hours

Assuming each out of 7 calls takes 1 sec
Does that mean that to keep 3 tps I need to have 3 active users all the time for 2 hours?

Does this looks right to inject users?
rampUsers(3) over (1 minute)
constantUsersPerSec(3) during (120 minutes)

I feel like something is wrong here. Where do I take into account that each scenario takes 7 calls?
Could someone please clarify this for me?

My second use case is very similar scenario but it has random pauses after each call.
pause(5 seconds, 10 seconds)
In this case each active user will not be doing 1 call per second, it will be slower, so I need more users to keep 3tps? How to pick right injection rate in this case? I need to use constantUsersPerSec and I can’t use throttle

Thank You