мы использовали Openfire и BOSH с 400 одновременными пользователями в одном канале MUC.
Мы заметили, что Openfire теряет память. У нас было около 1,5-2 ГБ памяти, и мы постоянно получали исключения из памяти.
Также BOSH-реализация Openfire довольно плохая. Затем мы переключились на Пенджаб , который был лучше, но не смог решить проблему открытого огня.
Сейчас мы используем ejabberd с их встроенной реализацией http-bind, и она хорошо масштабируется. Нагрузка на сервер, на котором запущен ejabberd, составляет почти 0.
В настоящий момент мы сталкиваемся с проблемой, что наши 5 веб-серверов, которые мы используем для обработки чата, иногда перегружаются примерно у 200 подключенных пользователей.
Я пытаюсь использовать веб-сокеты сейчас, но кажется, что это еще не работает.
Возможно, перенаправление http-bind не через правило перезаписи Apache, а непосредственно на loadbalancer / proxy решит проблему, но я не смог найти способ, как это сделать.
Надеюсь, это поможет.