I have a problem where I need to setup a given system to accommodate a number of requests per second that I don't know beforehand which will be. I know my user pool for that system in the sense that I know the number of users that will potentially be using the system. I have no previous knowledge of user behaviour, but I know the interval of time that the experiment would run.
What would be good approaches for me to break this down and determine both possible scenarios and estimated values of the number of requests per second my system would need to handle to effectively handle load/stress without wasting resources for unnecessary load capacity on the system, based on all previous information?
EDIT) Adding more information to frame the problem:
- The user pool is in the order of tens of millions (example: 25 million).
- A lot of users may try to "refresh" repetitively at the beginning of the time interval, which in turn will cause repetitive requests to the system;
- Behaviour of the users may be the digital equivalent to mobs entering stores during massive sale events, like black fridays;
- The number of users who are NOT aggressive should be a considerable number of times less;
- There is bound to be bots as part of the user pool, probably aggressive, trying to "steal" bandwidth of the system from human users;
A colleague suggested this would be a straightforward problem and I'd be able to follow this approach to estimate the number of simultaneous users: define for when X users will visit during time span Y, each for a duration of Z, and attempt something like a Monte Carlo simulation, assuming a random distribution of users.
(BTW, I'm new to these types of problems, and I'm not sure this is the correct Stack Exchange to post this, any help or advice on books and articles to study that could point me in the right direction is appreciated)