On Mon, Mar 27, 2000 at 03:50:07PM +0200, Andreas Aardal Hanssen wrote:
> >> I'm using ReiserFS (which, BTW, is working very well). My
> >> mailsystem receives 70'000 mails a day and the throughput
> >> is just about twice that. Average mails sent per second
> >> varies around 70-170 mails.
> > Uhm.. with 86400 seconds to a day, your average throughpout should be
> > about 2mails/sec.
> > What you are stating here is impossible.
> 
> Or a typo, perhaps. Thank you for making a good point in
> this discussion. It should be 'per minute', as everyone
> else seems to have understood.
> 
> -----------
> Closing up this discussion:
> 
> The problem was: How can I make qmail deliver more mails per
> day, how to increase to flow of mails, considering that a
> computer has 1.4 in 15-minute uptime load on average mid-day.

Watch vmstat output and determine your bottle-neck(s).

I don't think your hardware is the problem though.

We achieve a much better through-put on cheaper hardware.
More specifically, a 2xPII-550 system w/ 512MB RAM and some
UW SCSI disks performs about 900k delivery attempts/day. It
peaks at 30 deliveries/s. 

This is a list server, so it does not receive nearly as many
emails as it delivers. 

> Currently the system does actually use our own mail delivery
> program (the magic '|' option in dot-qmail). This, ofcouse,
> serves our purpose much better than the /Maildir system
> or LDAP databases.
> 
> It seems I might have solved our problem by removing the
> unneccesary qmail-local from the delivery system, so that
> qmail-lspawn spawns my delivery program directly.

How high is your concurrencyremote setting? We use the 
big-concurrency patch to deliver up to 1000 emails 
concurrently.

> I also removed some unnessecary fsync()s as they were
> slowing down everything very much. It also seems that
> Linux's ulimit on processes-per-child has been a problem.
> Burst mailing causes serialization because Linux won't
> spawn child processes. That too is no problem anymore.

You have to increase a compile-time limit in order to fix
this. It's trivial.

- Sascha

Reply via email to