Scaleablilty upto 5000 users

I am planning to develop a Learning management system with vaadin as a web-framework. My platform has to support 5000 users at a time. is it vaadin application will be scaleable for same?

If anybody has any statistics, please share.

Surender Singh

Vaadin has no specific limitations and scalable well. The scalability will mostly depend on how you’ll write your application and how you select the appropriate hardware for your load. Consider the following, vaadin-specific points while developing:

  • Vaadin has a server side logic and your application and window (with all fields) instances are stored in the http session. So avoid having huge fields (arrays, lists) with some temporary data in those instances or at least mark them transient. Not doing so could produce extra server memory consumption

  • Consider using or developeing Vaadin lazy ntainers for connecting data from your database or other sources to the UI elements. Remeber, that while client UI layer automatically handles server data lazy loading for you, at the server side you must handle lazy fetching from the database or so for yourself. You can also use already laze-fetch aware containers, such as HbnContainer, LuceneContainer and JPAContainer, which you can find in the directory.

From other points Vaadin performs well and does not produces any overhead, so except of memory consumption issues I mentioned above, Vaadin app is the same as any other web app, build using plain jsp/servlets.

As for me, our company successfully using Vaadin-based 24x7 app in one high-load project (Another high-load one will be launched soon) with approx up to 500-600 concurrent users and up to 8K unique users per day.

As Dmitri said - scalability depends from your application.

As this question is asked fairly frequently, we are preparing a case study (in co-operation with Åbo Akademi University and Codento Ltd.) where our goal is to show how a Vaadin based system scales to 300.000 concurrent users. The research is still in early phases, but our initial guesstimate is that we will need a handful of Amazon EC2 servers (with 7.5GB memory each) to implement this.

I’ll report more details while the test proceeds.

(But in any case - if you plan your application properly, there should be no problems with 5000 concurrent users)

I am appreciating your efforts to make Vaadin as open source.


See a detailed study on Vaadin scalability:

Overview and results

Step-by-step instructions on how the results were measured to make validation easy and give a basis for benchmarking your own applications

Source code for benchmark application