> I am on the verge of finishing an application and I am 
> starting to do some performance testing. One requirement 
> sent to me by the executives is that the app must be able 
> to support "250 simultaneous users" at a time.
> 
> My question is, what exactly constitutes "250 simultaneous 
> users"? Is that supposed to mean the ability to support 250 
> people all hitting the submit button at precisely the same 
> time? Or 250 people using the app at a given instance? Can 
> CF realistically support that figure if the answer is "all 
> at one time"? I mean, I guess the phrase is somewhat open to 
> interpretation, but I was just wondering if there was some 
> standard definitions in the performance tuning world that 
> definitively answers what "simultaneous" is meant to be.

When your client says this, they mean that in real life, 250 people can use
the application at the same time without the application server failing,
without any of the users being disconnected or timed out or anything like
that, and with each user's requests taking no longer than the maximum
allowable time.

The above sentence requires a bit of explanation. The maximum allowable time
is a business decision, really - depending on the focus and complexity of
your app, and the needs and behaviors of its users, you decide what's the
maximum that someone should have to wait between requesting a page and
getting that page. Also, just because 250 people may be using the
application at the same time, that doesn't mean that they're all requesting
a page at the same time, so in real life 250 simultaneous users doesn't
correspond to 250 simultaneous requests.

Now, during certain kinds of load test, you may see situations where the
number of concurrent requests more closely corresponds to the number of
users in the load test. These kinds of tests are designed to beat the crap
out of your server and application - stress tests. They're used to find the
bottlenecks within your application as quickly as possible.

> Also, if I have the number of simultaneous requests set to 3 
> in my CF administrator, how does CF's queue hold up with 247 
> requests waiting? As a rule, is it flaky?

CF's queuing architecture seems to work well enough to me, as long as those
requests don't take long to run. That's really the key to success (and kind
of obvious, I guess). Of course, as previously noted, if you get 250
simultaneous requests, that's most likely significantly more than 250
concurrent users.

> What happens in a clustered environment (say 2 servers)?

Assuming that the application is written to take full advantage of
clustering (no Session variables, basically), you get twice as many requests
you can run simultaneously.

> I know that's a lot of questions, but I'm trying to work on 
> these skills, as they are as important as being able to write 
> the CF code itself. As you can probably tell, I'm relatively 
> new to detailed performance tuning.

It would be difficult to note in a single email all the things you need to
know about performance tuning, though, and it's nearly as complex a topic as
development - there are people who do nothing but performance tuning, load
testing and related stuff. I'd recommend that you grab a free copy of
OpenSTA (http://www.opensta.org/) and read the documentation that
accompanies it.

> If it makes any difference in the answers, I'm using CF 4.5.2 
> on Solaris with Apache 1.3.6 as my web server.

Sounds like time to upgrade something, there. Especially if you're on
Solaris - each newer version of CF for Solaris seems much, much better than
the directly previous version.

Dave Watts, CTO, Fig Leaf Software
http://www.figleaf.com/
voice: (202) 797-5496
fax: (202) 797-5444
______________________________________________________________________
Your ad could be here. Monies from ads go to support these lists and provide more 
resources for the community. http://www.fusionauthority.com/ads.cfm
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to