Ну, выбор на самом деле невелик. Есть Prosody, оно многим нравится, но оно не лишено недостатков. В частности, оно выполняется в один поток, таким образом, нагрузочная способность ограничена одним ядром процессора. Оно не умеет кластеризацию — нагрузочная способность ограничена одной машиной. Ну и структура БД вряд ли всем придётся по вкусу — в одной таблице всё свалено в кучу, да ещё и закодировано в JSON. У нас на
jsmart.web.id с нагрузкой в пике где-то 35000 онлайнов на одной машине рулит ejabberd, к нему особых нареканий нет, ну разве что кроме потребления памяти. Однако, его можно существенно сократить, если отказаться от сжатия (zlib) и от MUC (mod_muc отжирает львиную долю памяти). MUC можно поставить альтернативный, например, mu-conference.
В
фирме, в которой я работал, мы решили проблему радикальнее — написали свой XMPP-сервер полностью с нуля (отталкиваясь от expat).