What's the best software/hardware configuration for a 10K+ user system?

What’s the best software/hardware configuration for a 10K+ user system?

Here’s what I’m currently thinking…

Main Server

Dual Xeon 3.2GHz or better

Mirrored 300GB HDs

12GB RAM

CentOS 4.x

You could think about using ConnectionManagers. Instead of running multiple physically servers, it is maybe possible to use multiple network cards and run a ConnectionManager for each card.

While I’m not sure of the minimum requirement to support 10K users (it’s really subjective), I’m sure that the spec that you gave is much higher than the optimum and recommended. Some tips that you should also consider:

  1. Since you’re running CenOS 4.x, I recommend that you use the RPM version of Openfire distribution because the installation is a breeze and the setup runs smoothly in virtually any environment. If you prefer the tar.gz instead, please read Linux Installation Guide.

  2. 300GB storage space could last for some time although you might want to at least consider puchasing a machine with a few spare and empty HD slots.

  3. By the time you hit the system limit, I think your user base might also increase, and so it would be time for you to upgrade your system progressively. That said, first, consider implementing the ConnectionManager and a separate database server. Later, the clustering solution (supported in Openfire Enterprise).

  4. With 10K users, it’s likely that you need to tweek your JVM settings. You might want to read JVM Settings and Debugging.