I saw a couple of posts saying one Openfire node is able to handle up to 200000 concurrent users or at least 50000. However, no one really explained how to achieve such a performance.
Our Openfire installation had 4000 real concurrent users and Java Memory was always 95-99%.
We switched to 64-bit JVM to let it have more memory but it looks like once we have 5000-6000 users we’ll have problems again. Tried to play with cache settings a little bit – no real improvement, maybe it wasn’t the right direction.
I have 2 questions:
- What should I do to make it work with 50000 users?
- How many concurrent users can this installation handle?
Our current configuration:
Windows Server 2008 R2
CPU: Quad-Core AMD 2.20 GHz (2 processors)
4 Gb RAM
Openfire 3.8.1
Java: 1.6.0_33 (64-bit) (-Xms1024m; -Xmx3200m; -Xss128k; -Xoss128k)
Database: MySQL 5.5.28 (max 45 connections), running on the same machine
Average roster is 1 to 3 users. No groups. Not more than 1 entry in Vcard.
PEP disabled. Proxy disabled.
Cache settings:
cache.group.size 200000
cache.lastActivity.size 1500000
cache.offlinePresence.size 100000
cache.routeUserSessions.size 400000
cache.userCache.size 1000000
cache.username2roster.size 1000000
cache.vcardCache.size 100000