On May 23, 2006, at 7:31 PM, Aristedes Maniatis wrote:
I've always wondered what 'concurrent users' means in a web
application. Live sessions? Page requests which come in the same
time period as another page request is being processed? If the
latter, then concurrent users will go up as the web site becomes
slower due to load. If the former, what does it mean if you only
use direct actions and don't create sessions?
All of the above. Concurrent users is a rather misleading term.
More accurate terms are concurrent sessions and concurrent requests.
These two things are related (assuming that you are using sessions)
but the relationship depends on your particular application. For
example, CNN might have a high number of sessions, but a relatively
low number of requests as the users spend considerable amounts of
time reading the article before clicking the next link.
The number of sessions is generally limited by the amount of heap
space available to the JVM and the amount of memory that each session
consumes. With a bit of cleverness you can keep the sessions to a
reasonable size. If you are using direct actions and avoiding
sessions, then this is of little concern. Direct actions can use
sessions and can be quite powerful with sessions.
The number of concurrent requests alone is not so important as the
time required to service each of these requests and the number of new
requests that arrive in that time. An application that can respond
very quickly to a request can support a large number of concurrent
requests. An application that must do a lot of processing for each
request will be able to support fewer concurrent requests. A problem
arises when the number of requests arriving in X seconds becomes
greater than the number of requests that can be processed in those
same X seconds. At that point the number of requests entering the
application exceeds the number leaving. This leads to an every
growing number of requests waiting for processing. If that continues
for more than a few seconds, the application will not be able to
process the requests before the woadaptor times out (and the user
gets annoyed and hits Reload). When the woadaptor times out on one
instance, it will resend the request to the next instance, thus
increasing the total load. That will very quickly take your site out
of business and produce "No Instance available" errors.
Chuck
--
Coming in 2006 - an introduction to web applications using WebObjects
and Xcode http://www.global-village.net/wointro
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems. http://www.global-village.net/products/practical_webobjects
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-deploy mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-deploy/archive%40mail-archive.com
This email sent to [email protected]