In many Enterprise System architectures, it becomes imperative to size the hardware according to concurrency & workload requirements. Mostly product vendors will provide their own hardware sizing sheets wherein you just plug in the metrics and it will throw out details of number of servers, RAM required and so on.
What I'd like to know is that how do we arrive at these sizes. I mean say if there is a concurrency requirement of 1000 users. What are the considerations that would make one finally say that 2 servers in a cluster are required for meeting this concurrency requirement.
What are the thumb rules determining how many users,threads etc a processor can handle (for x86, RISC etc). At the start of a project - how do you efficiently determine the sizing for an Enterprise System ?