Depending on your needs, you should be able to put together a configuration that works for a very large number of users. You can scale Openfire in the following ways:
- You can scale each of your server(s) up by adding network interfaces, disk space, RAM, and/or CPU(s)
- You can scale out a cluster with multiple members (5-6) within a single XMPP domain (shared database)
- You can scale out your user base by federating JIDs across multiple XMPP domains (each as a cluster)
- Using various plugins and custom integration components, you can offload features and capabilities to other complementary infrastructue (via LDAP, REST/RPC, Hadoop, JMS, etc.)
In theory, you can scale indefinitely ... but in practice, you will have to test and tune at each scaling dimension to ensure the specific capabilities you need will operate within your expected performance parameters.
Hope that helps. We always welcome performance metrics from the field, so feel free to post your findings back here.