[ejabberd] ejabberd & http bind

Mickaël Rémond mickael.remond at process-one.net
Fri May 29 09:36:45 MSD 2009


Hello Christoph,

As I already told you, we have largely rewritten this module. De are  
currently performing test and benchmark but we think it will perform  
twice or third time faster.

I did not look at your changes but I do not think they will be  
compliant with the new module.

The new module will be publish quite soon but as I said if you want go  
test it drop me a mail.

-- 
Mickaël Rémond
  http://www.process-one.net/

Le 29 mai 09 à 01:59, Christopher Zorn <christopher.zorn at gmail.com> a  
écrit :

> On Thu, May 28, 2009 at 6:40 PM, Carlos Abalde <carlos.abalde at gmail.com 
> > wrote:
> Hi all!
>
> The last weeks I've been doing several stress benchmarks to  
> different configurations of an ejabberd server using jab_simul and  
> tsung. I've also tuned some modules (mainly the c2s frontend, the  
> roster module and the authentication module) in order to reduce  
> memory & CPU consumption and adapt them to my simplified  
> requirements. The results have been pretty nice, however, after  
> adding the BOSH support using the http_bind module, everything has  
> got worse. Not only for the additional amount of required memory,  
> but for the instability of the server.
>
> I'm still investigating the origin of the problem, but I've detected  
> that in a simple scenario (set of clients periodically changing  
> their status and sending messages) the size of the FSM processes  
> implemented in the http_bind module are constantly growing (the same  
> scenario using the normal jabber interface works fine).  
> Specifically, the req_list in the state record grows and grows until  
> complete memory exhaustion.
>
> FYI, my BOSH and non BOSH tests are conducted using a jab_simul-like  
> multithread client that I've implemented (using the gloox library)  
> to test and compare the bind and normal frontends (is there any  
> stress tool with BOSH support?). Therefore, maybe I'm doing  
> something wrong in my client implementation, but I think this is a  
> very strange behavior.
>
> Is this a normal behavior? How does the req_list buffer work? Any  
> help will be welcome!
>
> I have not noticed this problem with req_list in my testing. I have  
> mainly been looking at CPU load issues though.
>
> http_bind has known performance issues.
>
> See https://support.process-one.net/browse/EJAB-936
>
> Currently it does a lot of extra xml parsing and serializing, fixing  
> that would be big.
>
> I have a github branch where I took out some of the extra xml  
> parsing and serializing that it does.
>
> http://github.com/twonds/http_bind/tree/master
>
> This has not been tested much and a better solution may be to not  
> use ejabberd_socket and handle all the parsing in http_bind.
>
> I am working on producing some benchmarks to show it performing  
> better.
>
>
>
> Thanks!
>
> -- 
> Carlos.
>
> _______________________________________________
> ejabberd mailing list
> ejabberd at jabber.ru
> http://lists.jabber.ru/mailman/listinfo/ejabberd
>
> _______________________________________________
> ejabberd mailing list
> ejabberd at jabber.ru
> http://lists.jabber.ru/mailman/listinfo/ejabberd
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.jabber.ru/pipermail/ejabberd/attachments/20090529/58d6e1d2/attachment.htm>


More information about the ejabberd mailing list