When working on performance testing, one of the problems I've faced is trying to translate real-world web application traffic to simulated traffic.
A practical example is for an eCommerce site. During a user's experience on the eCommerce site, they will be adding and removing items from the shopping cart, logging in and/or editing their contact information, updating their shipping information and preferences, applying payments, and displaying receipts or, in some cases, product for download.
As an example, a client reports a total number of shopping carts created during an hour of 1000 with a total over the course of a 24 hour period of 10000. Not all shopping carts are taken through to completion but all shopping carts have gone through some part of the above steps before fulfillment or abandonment. Let's say "think time" per page is about 30 seconds.
This is all "off the top of my head" scenario with no correlation to a real-life situation, it's more trying to find a generalized "rule of thumb" for figuring out how many Virtual Users to use. In the past when I've made judgement calls, I've had a hard time justifying the numbers I've used. In the above example, my judgement call would be based upon throughput. How many shopping carts were completed to fulfillment within an hour? If that number is 400, then through trial and error, I can configure a number of virtual users that would approximate that number of carts fulfilled in the hour.
That's all still based on guess work with nothing really concrete in the reasoning behind it. So, how can you determine the number of concurrent virtual users to configure in your load test to test performance with the above load?