Refactoring and testing ejabberd XMPP server

By Erlang Central | Published: October 31, 2011

ejabberd is an open source, scalable, extendible, cross-platform
Jabber/XMPP server written in Erlang. During the last few years we have
been involved in building and optimizing a number of projects
integrating ejabberd server with various subsystems; starting from
regular IMs, going through social networks, banking, online gaming and
finishing with mobile applications. Basing on that experience we
introduced a set of refactorings applied to ejabberd sources, as well as
code optimizations, giving the machines hosting ejabberd significant
RAM savings. I will also describe escalus framework, which can be used
for blackbox testing of XMPP servers. At ESL we developed test suites
based on it, which covers some Jabber RFCs and can be used for
regression testing when XMPP server is being refactored.

Download Presentation Download


  • Michal Ptaszek

    ejabberd employer and deployer
    Erlang Solutions

    Michal fell in love with Erlang at first sight. He joined Erlang Solutions in 2008 and since then has been involved in a number of projects, mostly employing ejabberd to deliver non-trivial Internet Messaging services in various areas, like standard IM applications, social networks, banking, mobile applications and the gaming industry. He has been responsible for designing, extending and deploying ejabberd multi-million user clusters all over the world. He graduated from University of Science and Technology in 2010 with masters in Computer Science, doing his research on tools for distributed large-scale computing.

    Michal Ptaszek

Follow Erlang Central:

Have an Erlang Question?

Reach out to the Erlang community