powered by Jive Software

Multiple Wildfire Instances on one Server with different ports


I’'m running two Wildfire instances on one server, configured with different domains and ports for connections.

the first is using:

5222 no ssl

5223 ssl

5269 s2s no ssl

and the second:

5224 no ssl

5225 ssl

5270 s2s no ssl

So now my prob. The first server has s2s connections, but the second hasn’‘t. They even can’‘t know each other and I don’'t get it

any suggestions whats wrong with the second?

Ciao Ephraim

I suspect you will not be able to get s2s connection working between jabber servers that do not all agree on a common port number. (why? because they need to be able to open connections in both directions, so each wildfire instance would need to have a user defined port lookup table for each domain name it needs to connect to) I haven’'t seen such an option in wildfire, so this suggests to me that it may not be possible to make two wildfire servers connect to each other on the same machine unless you can do something fancy at the IP level to redirect ports for different domain names registered to the same machine. Anyone know if a VIP can do this kind of thing?

Hmm, I may be out of my depth here, so I’‘m not really sure why I tried to answer this question, but I’‘m sure some network guru will shoot me down if I’'m talking bull hunky.

Chris Denham


I think you are right. The first server you start will open a serversocket on s2s port and the second will try on the same port but will probably fail.

Did you get any error in the log files of the second server ?

What about Connection Manager for Wildfire? I have installed Wildfire 3.1.1 with non-standard port definition, linked to Connection Manager and I do think about one more instance of Wildfire at current machine. I suppose that Connection Manager can manage connections from user to both Wildfire servers (cause CM listen at ports 5222/5223). From everywhere this decision must be look like one XMPP-server.


did you create SRV records for the 2nd server as described here: http://jabberd.jabberstudio.org/2/docs/section05.html#5_7_1 ?


Do you think that doing this - running wildfire and the connection manager on the same machine - would help load over all?

I’'m wondering about doing exactly that - and setting the connection manager to be the “primary” thing listening for incoming connections on port 5222/5223. Do you think this would help with load on the wildfire process?


Wildfire 3.1.1 and earlier releases had a 1:1 mapping of clients and internal threads. This lead to a lot of problems as application with 10000 threads make processors busy with task switches instead of processing, no matter if you are using a connection manager or not. But java applications usually cause native memory errors if they try to run more than 3000 threads, so some Connection Managers did make sense to handle more users.

Wildfire 3.2.x uses NIO to improve the mapping of clients and internal threads a lot and this increases performance a lot. As far as I know the CM’‘s just bundle a lot of connections into one, they do not parse packets or something like this. So you’'ll see no real performance advantage.

I think the CM are good DMZ-proxies (s2s-support is still missing) for Wildfire, so you can easily disconnect the internet.