Hello Everyone,
I'm running a Dell 4300 (512 RAM, 4*9GB of Disk - queue sits
on a 9GB partition, CPU=550Mhz PIII...)
We're running qmail and a DNS caching server on that box
which is configured to build a large dns
cache. This is a high volume mailserver which sends out
150-200K dynamic mails per day. We're using Java right now
to build each mail. We have a very large user base and are
sending out custom messages to our users.
The Java engine works off a template and uses local smtp to
fill the queue. It is currently doing about 25
mails/second, and hits about 90,000 messages per hour. So,
if I mail out 100K through this dynamic engine, about 100K
get injected in a little over an hour. Its the next part
which is the hangup.
The queue will then take a full day to send out these
messages. This performance doesn't sound optimized and I
was hoping some of the other qmail admins could provide some
advice. Currently our qmail settings and config are:
1) Very large Queue space - 1000 directories in
/var/qmail/queue/mess
2) Qmail is set to open 20 SMTP connections at a time
3) bounce time - 1 day
4) max time in queue - 1 day.
Why is the queue so slow to spit out these mails? I know
DNS lookups will take some time, but many of these emails
share the same domain, so caching should solve a lot of
these issues. (assuming TTL is large enough, etc.)
Also, we've noticed that when sending 500K mails, the
partition is filled, so we've ordered a 36 G disk for queue
to sit in.
We've got plenty of bandwidth at our colocation facility,
(4Mb/s) so I don't believe that is the holdup either.
The main issue: we'll soon be sending out blasts of 1M at a
time which are time sensitive and need to get delivered in 1
day. When I enter this sort of game, do I need to already
start thinking clustering solution? What is the max
performance one solo box (like I have above) can do with the
type of mailouts I'm doing? Any help will be appreciated.
Thanks,
Thomas
PS - The box was running REdhat 7.0, but we're reinstalling
and using FreeBSD 4.0 now....haven't run enough tests to see
what sort of difference this will make.
PSS - I used to run things by building a large qmail alias
(100K users) list and use that to send out the mail... qmail
would send all that out in about 2 hours.... (which is the
type of performance I'm looking for)