Re: 10K concurrent users in Spring?

Originally Posted by
gt1601
- Kindly, could someone from the Spring team briefly explain how an application can handle such a large number of users like this?.
A few points here for clarification:
- The app in question is not handling requests from 10K users simultaneously. It's a global app so usage is spread over many time zones.
Even within the timezones, each potential user is not hitting the app all the time.
Not every request needs access to the backend - a fairly aggressive amount of caching takes place in the web container.
However, sufficient benchmarking was done to show that the front end would handle typical usage patterns from around 3000 concurrent users with no appreciable performance degredation.

Originally Posted by
gt1601
- What does the environment look like?, are there app. server clusters, database cluster or replication, data caching?
Hardware consists of 5 clustered Quad-Xeon WebSphere servers each with 4GB of RAM. It's an internal app and network bandwidth is huge even around the globe.
Software side: it's a web app with a service layer that caches data from many disparate sources, typically XML over HTTP in one form or another. Some web service consumption, some RSS, some custom or proprietary formats. There's a smallish (compared to the rest of the app) transactional RDBMS back end.

Originally Posted by
gt1601
- Is the processing synchronous and/or asynchronous?
err, asynchronous as far as possible 

Originally Posted by
gt1601
- What frameworks does it use besides Spring: Hibernate, ActiveMQ, Mule, etc?
Hibernate for the RDBMS and Velocity for the view layer. Security is custom written.

Originally Posted by
gt1601
- What are the nature of the SQL statements: mostly-write, mostly-read?. Number of sql statements per second?.
Mostly read. Very few statements per second as most of the data is not RDBMS based, and much of that is cached anyway.
Hope that helps. Regards,
Darren Davison.
Public Key: 0xE855B3EA