What should be the load test duration? I usually recommend 1 hr peak load test, but my developer usually comes to me and asks me why can't we run only 30 min test with same workload, to get results early instead of waiting for 1 hr. In past I was running test for at least 2 hr?
If your load model simulation is based on achieving the target transaction rate, then the test duration should be equal to the time it will take achieve that target transaction rate, whether its 30mins, 60mins..
If the Transaction rate is unknown, then we have to find out how much duration it takes to complete one iteration and how much time it might requires to target number(5, 10, 20 iterations) of iterations and this would be considered as test duration.
Some times the load test duration is considered to be same as Peak hour duration captured in the requirement.
Regarding time, your scenario should account for overcoming the initial loads that do not take advantage of caches in your stack. This is achieved by running long enough and having a sufficient warm-up interval.
I've found that a steady state run with multiple users to be a good test for the situation you describe. The number of users will depend upon the target throughput you will (hopefully) find in your requirements docs. The baseline function of SilkPerformer is really useful for these kinds of calculations.