Brad Fitzpatrick (brad) wrote,
Brad Fitzpatrick

djabberd: c10k? hah!

DJabberd just did 25,200 (fully setup) connections with 97 MB of RAM before my Xen instance ran out of memory. It's now 3.4kB of overhead per connection (contrast to 30kB this morning) but there's still obvious ways to trim it down. Should be able to get it down to 2kB. The big win was when I implemented a [forget design pattern name] system where libxml parsers are shared, returned, kept on a freelist, etc.

From what Artur and I can tell, this is better than most/all the other jabber servers out there.

It means with 1GB of ram we can do 300k connections per process. (8GB of RAM boxes, 2x 2x core)

<3 epoll.
Tags: djabberd, linux, perl, tech
  • Post a new comment


    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.