Hello
1- In fact I can be more precise. I think you can reach 10K users with a BiXeon with 4Gb of RAM. I would say that if you want to be able to have more users, you need to add Connection Managers.
I made tests with 3 CMs (Xeon with 2Gb RAM) + 1 server BiXeon 4Gb and I was able to get 40000 users connected. With some adjustments on CM side with JVM parameters (-Xmx1024M -Xms1024M -Xss80k) I could reach around 150000 users per CMs.
But in fact when I simulate users with large rosters I have problems around 18K users. Until now I suspect the client tool I use to simulate so many users.
2- Each CM you connect to the server opens a given a number of connections to the server. You can parameter this value for each CM in its configuration file. Theorically you cannot add too many CMs because you will have connections problems but I think the limit is high enough to have other kinds of problems on server side before this limit is the problem
By the way as I told you I was able to have 15000 users connected on a CM. So even if you want 150000 users, you would need let’‘s say for security 15CM, if you set for each of them 5 or 10 connections to the server, I don’'t think this will be the problem. I would bet that your server will give up before you reach so many users
3- Sorry I think I can’'t help you precisely for that question. I made tests with more CMs (same Config but more servers) and reached 80K users connected but I had disconnection problems - again I think it is client fault but it was in a light configuration. In fact I am trying to make such a sizing estimation.
Today I can say that the server load and thus your need depends on the usage intensity.
-
You must make the difference between the total number that can connect and the total number that will really be connected simultaneously.
-
You must also evaluate the roster size of your users (small, large).
-
You must evaluate the frequency of connection/disconnection users.
I have no precsie metric but let’'s say for the configuration I have :
30K users with small rosters (less than 50 items) and moderate connection/disconnection (50/100 per second) available
20K users with medium rosters (150 items) and low connection disconnection rate (20/50) available.
18K users with large rosters (400 items) and very low connection/disconnection rate (less than 20 per second).
I keep on searching and trying to get more precise results.
I am also looking on how to play with caching to increase perfs.
One can also adjust the number of connections to the database but I didn’'t get until now relevant results.