In over my head. Please Help!

Hi Folks,

Currently I’m running Wildfire 3.11 on RHEL with a small pilot group (500 users). The plan is to buy a new server and roll this out to 25,000 users and I’m not really sure how to architect things. Any help of how to best set up a server to handle this is greatly appreciated!

I don’t think that all 25,000 will ever be connected at the same time, my best guess is about max of 10 to 15,000 at any one time.

I remember seeing a diagram that said for 10,000 users you’ll want to hae a connection manager module running on the same server and have users connect to that. I’m not entirely sure of how users connect to the connection manager instead of the openfire server, any help there would be appreciated.

I’ve also read about increasing the memory avilable to the java vm by editing the openfire.sh file and adding this:

#!/bin/sh

INSTALL4J_ADD_VM_PARAMS="-Djava.net.preferIPv4Stack=true -Xms512m -Xmx2048m -Xss128k --xx:ThreadStackSize=128"

Please let me know what I need to do to make this work for all my users.

Thanks in advance for your time.

Hi Winter,

Sounds like an exciting use of openfire is in your future! First up, to modify java memory settings, you should edit /etc/sysconfig/openfire . Editing the start script is dangerous for RPM upgrades in the future, as your changes may get over written.

Regarding a connection manager, it is probably a good idea. Checking out its documentation is probably a good idea.

daryl

I’m not entirely sure of how users connect to the connection manager instead of the openfire server, any help there would be appreciated.

Every connection manager uses a unique IP address, so you may want to use a load balancer in front of them. A connection manager is like a transparent (HTTP) proxy, so for the client it looks like an XMPP server.

Anyhow Openfire uses now Java NIO, so there is only little need for a connection manager now. With Wildfire they were more useful as there a (or two?) new thread was created for every client, so 1000 threads for 1000 clients is really a lot and does not scale much further as every thread needs memory (at least 128kB) and CPU cycles.

LG

I’ll let you know how things go as we start getting more people using the server.