I am looking at setting up some website load testing scripts and need some help in finding a formula to estimate how many concurrent users are browsing a website at peak times, based on common metrics such as visits, average page views per visit, and average visit duration.

Personally, I would parse the logs (assuming you're keeping them) and find the minute-sliding-window of time that had the highest number of hits in that minute. Then I'd add 20% or so. You can break it down into 5 sec or 10 sec window or whatever you feel is appropriate, but going off of real world data is always best. What if those 1000 vistors in that hour all were hitting the site at 9:17 AM because the new deal-of-the-day was posted at 9:16 and they just got the facebook update or something? That's the kind of scenario your load testing has to handle.
–
corsiKa♦Jul 29 '11 at 22:10

2 Answers
2

If you have an average visit length of 5 minutes, a single user could create 60 min / 5 min = 12 visits per hour. To get to the target number of 1000 visits/visitors per hour, you need 1000 visits / 12 visits per user = 84 concurrent user.

In total you will have 1000 visits and 3000 page views.

Just as a side note: 5 min visit length and only 3 page views seems to be a little... small. This means, the user has a think time of about 100 seconds. Quite some time. What kind of site is that?