> Honestly in our application (we have a roadmap for scalability) we are > likely to get several hundred concurrent sessions per server with a few kb > of state stored in the HTTPSession. Its not that much.
That's definitively no problem for even a very modest setup. > What I was more > concerned about was Page storage and storage that I can't control (for > example, if I couldn't control IModel storage I would be concerned). Well, when using any framework that abstracts stuff for you, you'll trade convenience for transparency. I believe Wicket's architecture is very open and it is easy enough to customize how it works for what you want, but the more you want to deviate from the default, the more work it'll be. I think you should just build the darn thing and optimize when you have proof (through load testing for instance) that you are hitting a bottle neck. :-) Do try to work with detachable models (LoadableDetachableModel is my favorite) where you can, because that will save considerably especially with complex domain models and avoid lazy loading problems with frameworks like Hibernate. > We are unlikely to have spikes of traffic, but we are more likely to have > dribs and drabs of users who potentially keep sessions open for perhaps > minutes to hours. Not a problem at all. > For our initial scaling the client will have an affinity to a specific > server. We can control the number of users that we have on a server. We can > then scale our servers horizontally if we hit a scaling issue on one of the > servers. I'm starting not to worry about it too much. Yeah, with just a few hundred users clustering won't be much of a problem either. Once you start to hit tens of thousands of concurrent sessions you have to take this stuff more seriously, but until then in my experience you'll be tweaking your database and business logic etc way before Wicket gets to be in the way :-) Eelco --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]