I agree with the fact that the duration of the test depends really on the type of test you are performing and the application your testing.
In the past i have performed Load Tests using the following as a starting point:
- Log all Users in to Application in Phased/Staged Logins to prevent Login 'Overload' (unless this is a test pre-requisite)
- Launch groups of users until all users are running and then leave them iterating through their repsective business transactions for a stable Load Period of between 30 minutes to an hour or two.
- Start to Logout users.
This proves that your application/middleware/backend/hardware etc. can support your basic Load Requirements. You would then generally want to perform some different types of testing over longer periods e.g. Reliability/Soak tests over longer periods as mentioned above such as 8,12/24/36/48/72hrs etc.
One thing to bear in mind at this stage is that you may want to look at reducing the amount of information logged for each user with regards to the storage space required