Re: [Exim] exim's databases and sql

Top Page
Delete this message
Reply to this message
Author: Avleen Vig
Date:  
To: Nico Erfurth
CC: Exim-users
Subject: Re: [Exim] exim's databases and sql
On Fri, Oct 03, 2003 at 10:37:18PM +0200, Nico Erfurth wrote:
> >To work around file locking contention against the filesystem-based db.
> >This is a big problem on high-throughput relays.
>
> Also SQL-Databases need to lock from time to time.


Sure, when doing backups maybe. But why would you want to run backups of
a hints-db? If it's lost, well, it doesn't take long to build it again.
But that's on less-than-efficient MyISAM table types where you have to
lock the entire table to do a write, rather than locking a single point.


> You can put the hint-database-files in a ram-disk, that will speed the
> whole thing up heavily on some systems.


Yes, but even this only does so far.
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.
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.

> Also, exim_tidydb should be run from time to time, so the database stays
> small.


The database can be small, or large, the problem will still remain.

> But exim, as all MTAs, is pretty IO-bound. So if you want REAL speed,
> use a battery-backed ram-drive for your spool. Or disable all sync-calls
> inside of exim, if you can assure that your machine will not crash.


Need some coffee, Nico? :-))