I would like to ask a question about MUC History performance.
let's say we have an external MUC component under the high load.
We noticed one thing that sometimes when users sends a lot of messages per second then we see that MUC In queue has a lot of messages: hundreds or more.
In other hand we see that CPU load is not so high.
We know that each message is saved to history DB.
Then we tried without history by setting muc/history-db = none in init.properties and a performance was good, In queue was always 0.
Do you have any recommendations how to speed up DB layer? and why CPU load is not so high in this case.
Added by Artur Hefczyc almost 4 years ago
CPU usage is low because the application is waiting for database I/O. So this is pretty expected situation when the DB performance is not good enough for the load on the server. My suggestion is to look at the DB server and DB software configuration, network connection between the Tigase and DB. Also, please check on how much load do you put on the server actually. You cannot expect a standard database installation to handle 10k/sec of write requests.