[Server-devel] ejabberd with postgres

Douglas Bagnall douglas at paradise.net.nz
Thu Nov 27 23:28:35 EST 2008


[Apologies to bystanders trying to follow this email: it mainly
consists of disjointed snippets I need to tell Martin]

After a fairly straightforward substitution of postgresql for mnesia,
ejabberd's performance is spectacularly unchanged.  Of course, this is
to be expected.

Also, the behaviour of 2.0.2 is quite similar to that of 2.0.1.

2.02, postgres: http://wiki.laptop.org/go/Ejabberd_resource_tests/try_9
2.01, postgres: http://wiki.laptop.org/go/Ejabberd_resource_tests/try_8
2.01, mnesia:   http://wiki.laptop.org/go/Ejabberd_resource_tests/try_7

Well, actually, mnesia might have a slight edge, which can be seen in
these side by side graphs:

http://dev.laptop.org/~dbagnall/ejabberd-tests/compare2/resident_mem_max_per_conn-old_tls-2.0.2-2.0.1%20postgres-new_tls.png
http://dev.laptop.org/~dbagnall/ejabberd-tests/compare2/virtual_mem_max_per_conn-old_tls-2.0.2-2.0.1%20postgres-new_tls.png
http://dev.laptop.org/~dbagnall/ejabberd-tests/compare2/load_avg_5_median_per_conn-old_tls-2.0.2-2.0.1%20postgres-new_tls.png

(the scripts to generate these are in
http://dev.laptop.org/git?p=users/dbagnall/ejabberd-tests.git, and are
woefully documented).

Postgres itself consumed about 12MB through out the tests.  Most of
the time, ejabberd made very few requests: in fact most requests were
the result of my monitoring efforts.  When a bunch of hyperactivity
clients connected, there would be a flurry of activity, all of it
quite simple.

(the raw postgres log is here:
http://dev.laptop.org/~dbagnall/ejabberd-tests/logs-2008-11-28-odbc/postgresql-Thu.log
-- the bits like "select password from users where username='admin'"
are from my logging script).

I've pushed the changes to get postgres going with ejabberd to the
xs-config.  I used this file to create the database:

http://svn.process-one.net/ejabberd/trunk/src/odbc/pg.sql

douglas


More information about the Server-devel mailing list