1

I am running ejabberd 17.04. I have about 900K+ users registered on my node. For me the system was running smoothly as I do not have more than 500 users online at any point. But recently, the users started to created groups and I can see the entry of these in mysql db MUC_room table. But as soon as these groups were created, my ejabberd performance went down drastically.

When I submit a message to ejabberd via my client, it takes anywhere from 15 seconds to 45 seconds for ejabberd to send back ACK for the message. Even stopping ejabberd node takes a considerable 10 minutes.

Any help in this regard will be highly appreciated.

  • Hi anx, this node of mine was previously running on 4 cores and 8 GB of RAM. When this problem started to happen, I increased the core to 12 and RAM to 32 GB but it didn't seem to help at all. As for the database of ejabberd, I ran different queries on different tables and the response was quick enough for me to even doubt if something is wrong. I did a test though. I installed a replica on another machine with 4 core and 8 GB of same version of ejabberd and attached it with a copy of my live DB. The performance of that replica also was slow considering I was the only user on that.. – Mirza Jahangir Oct 11 '20 at 19:16
  • Was it a logical or byte-exact DB copy? I would not rule out database issues until there are basically zero long-running queries, are you logging such? (whenever requests for clarification in the comments reveal new information that may be helpful in answering, consider to [edit] it into your original question) – anx Oct 11 '20 at 22:18
  • Maybe increasing log verbosity and intentionally worsening the suspected cause (create more groups on your replica) reveals more errors? For reference: [this comment](https://github.com/processone/ejabberd/issues/3409#issuecomment-706969581) – anx Oct 12 '20 at 13:10
  • 1
    Hi every one. I know that it is a long time since I posted this issue but I do want to share what worked for me. Increasing the number of sql connections in the yml file seems to did the trick. – Mirza Jahangir Jan 16 '21 at 14:14
  • please do add that as an actual *answer*, with the relevant configuration snippet, and more importantly: how you figured this was the bottleneck. – anx Jan 16 '21 at 14:19

0 Answers0