Roster very slow loading


We are using Openfire 3.6.4 with a PostgreSQL database located on the same machine. We have a roster of approximately 1500 users (eventually increasing to 3000) in roughly 150 groups. We are using JWChat as a client.

Are users are complaining of very slow login times the first time they login. Generally it takes approximately 2 minutes to display the roster in JWChat. Debugging this it appears that 1 minute 30 seconds of this is the time it takes for the roster to be returned from Openfire after the roster request from the client. In subsequent logins the roster return time is only a few seconds- I assume that this is due to caching within Openfire.

Can anyone offer any suggestions as to why the initial request for the roster is taking so long and how it could be improved? Reading some other posts I can see that many people use far bigger user bases (tens of thousands) than we are so I assume that a roster of a few thousand users is reasonable.



Hi Chris,

Which version of postgresql? Have you recently vacuumed full the database?


Hi Daryl

Sorry for the delay in replying- I was caught up in the NZ earthquake.

We have now switched our Openfire database to mySQL and performance has improved from 2 minutes down to around 40 seconds although we would still like to reduce this login time.

Are there any Openfire server settings I can change? I have tried increasing the Java memory available and increasing the user cache size but it seems to have made no difference. 40 seconds still seems a long time for 1500 users.