5

I have installed ejbberd-2.1.10 from the binary installer on my machine(Win7 32bit 2.93GHz Core2Duo 3GB RAM). Since our set-up needs a very high message throughput I have looked through the performance tuning reference and made changes in my ejabberd.cfg and ejabberdctl.cfg files with

{shaper, normal, {maxrate, 10000000}}
ERL_MAX_PORTS=65536
ERL_PROCESSES=250000
ERL_MAX_ETS_TABLES=20000

Now when when clientA sends messages to clientB,with 10 messages each of 1500bytes

The time taken is as follows
1)With the default values -14.3 seconds
2)With my overriden values given above - 1.70283 seconds

This still doesn't meet out performance requirements. Could anyone please help me on how to push this limit further??? Am I missing something or setting wrong values. Any help on this would be really great.

Thanks

sandy1510
  • 59
  • 5
  • +1. I would like to know this as well, no matter what I do I cannot seem to get more than 10KB/s of messages to flow between clients. – verma Jan 19 '12 at 03:50
  • Also, I tested this with 3 message receivers and one sender, and it seems this 10KB/s throttle seems to be happening per connection. The total throughput seems to be around 30KB/s with 3 receivers. – verma Jan 19 '12 at 03:58

2 Answers2

0

We have been able to achieve a much higher throughput with ejabberd. Without full detail of your use case and config, it is hard to reply, but I would think your configuration is wrong. I would look into your shaper configuration.

Mickaël Rémond
  • 9,035
  • 1
  • 24
  • 44
  • Thank you for the reply.I have been stuck at this problem from many days.Since the above configuration didn't work for me,I later modified my ejabberd.cfg file in an attempt to disable the traffic shapers.It still didn't help me in anyway.Currently my config file looks like [this.](http://pastebin.com/rs2h1FQ6) It would be of immense help to me if you could share details on how exactly you were able to achieve higher throughput. -Thanks – sandy1510 Jan 30 '12 at 09:14
  • You should put your log file in debug mode. You will then see if your shaper is applied. – Mickaël Rémond Jan 30 '12 at 10:29
  • I just did that and there wasn't any line mentioning anything about the shapers in the logs. However in another ejabberd setup in another machine having default configuration I did see a line in logs like 'INFO REPORT==== 2012-01-30 ===D(<0.463.0>:shaper:61) : State: {maxrate,1000,998.5892224961889,1327920805938101}, Size=16 M=15.977459359767185, I=3.999' . So does that mean shapers were indeed disabled in the other set up I mentioned? – sandy1510 Jan 30 '12 at 11:08
  • yes, it means, it was disabled. – Mickaël Rémond Jan 30 '12 at 18:07
  • Okay...With the shaper being disabled the speed I achieved was 18.1 seconds for 100 messages,each of 1500 bytes sent from ClientA to ClientB.This was roughly the same speed we achieved in another 2 similar setups.This still falls way short of our expected throughput :( So what else needs to be done to the config so that we could improve this speed? – sandy1510 Jan 31 '12 at 05:44
  • With regard to the use case,we basically want to use it for messaging between different nodes along with presence in a large scale distributed architecture. We do not intend to use xmpp for chat purposes. – sandy1510 Jan 31 '12 at 06:02
0

i am looking for an answer to another problem but on my travels i came across this which may or may not be relevant to the problem you are having http://metajack.im/2008/09/23/file-descriptors-are-yummy-or-common-pitfalls-of-ejabberd/ hope it helps - probably not unless you're connecting with federated servers but there it is anyway.

pete
  • 1