Re: [Exim] exim's databases and sql

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Avleen Vig
CC: Nico Erfurth, Exim-users
Subject: Re: [Exim] exim's databases and sql
On Sat, 4 Oct 2003, Avleen Vig wrote:

> As I said in other mails, the problem isn't the speed of the access, the
> problem is that the entire database needs to be locked in order to write
> to it.


But as I said in other mails, if no messages are delayed, the database
never has to be updated...

But a thought has occurred to me. Exim does its own locking, because it
was originally implemented for ndbm and then DB 1.85, which are both
relatively simple DBM libraries. Nowadays, a lot of people are using DB
4, which is a much bigger and more complicated beast. It does have some
internal locking features. One of the items on the Wish List is to
investigate the use of these features, to see if Exim's own locking can
be avoided. I don't know if this will actually help or not. I guess
tests will have to be done.

Another alternative is, of course, NOT to use the big-featured DB 4, but
instead to go back to 1.85, or to use a simpler DBM library such as tdb.
Running some tests on those libraries might also be interesting.

> Try punch 50,000 messages per hours through a single exim relay and
> watch it not work :) Try it on sendmail, watch it work. Realise that one
> of the big bottleneck is the wait-remote_smtp db.


If messages are waiting, you aren't "punching them through". People have
also reported performance improvements when switching from Sendmail to
Exim, so there's something strange there. Maybe it was a different
version of Sendmail.

--
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book:    http://www.uit.co.uk/exim-book