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]

Reply via email to