On 12/21/10 11:31 AM, David Brophy wrote:
Hi,
I'd like to set Postfix up as a high performance MTA for sending high
volumes of mail.
Our website (dontstayin.com <http://dontstayin.com>) sends about
100,000 mails per day (message notifications etc.)
We also send about 1-2 million bulk mails per day, in the form of
newsletters and e-flyers (it's all opt-in, targetted and instantly
unsubscribable)
We're currently using Windows built in smtp server which can't keep up
with the load at all, so I'm configuring a Ubuntu server to run
Postfix to take over this job.
Are the default options for Postfix able to handle this volume? Do I
need performance tuning? The server is a dual processor, dual core
Opteron with 16GB ram and a 60GB OCZ Vertex 2 SSD disk.
A single disk drive will not suffice for large volumes.
Consider using at least 4 drives in RAID-10, more if you need more
throughput.
Postfix itself is rarely, if ever, the bottleneck - but you need to keep
in mind that certain core processes are of necessity single-threaded,
and hence will only be able to utilize one CPU core.
The most prominent would be the queue manager: qmgr(8).
This means ALL messages will pass at least once through a process that
is bound to a single core.
The only way to change this fundamental fact is to run multiple
instances of postfix, which would be a good option in your situation.
Ideally I would like the two types of mail to be handled differently.
The bulk mail is much less important than the notifications. I imagine
my code could use two separate IP addresses to send mail - one for
bulk mail and one for notifications. The expiry times for the bulk
mail can be set relatively short so the queue doesn't get too big. I
imagine normal settings for the notifications.
Mail doesn't have an "expiry time".
You may be talking about the queue lifetime of a message, but messages
are sent out as soon as possible - only when messages fail to be
delivered the first time does queueing come into play at all, and you
normally want to avoid queueing whenever possible, because A. it
introduces delays in delivery, and B. as already indicated, messages
pass through the single-threaded qmgr once again.
The important thing is that both queues must be relayed out onto the
internet from the same IP address. Our current mail server IP has good
reputation and it's on all the relevant white-lists. Having to set
this all up again is not something I want to do.
Multiple postfix instances can SEND mail from the same IP without any
problems, of course.
Is there a good step-by-step guide to setting up Postfix in this sort
of configuration?
The documentation is quite complete:
http://www.postfix.org/OVERVIEW.html
http://www.postfix.org/MULTI_INSTANCE_README.html
http://www.postfix.org/TUNING_README.html
Thanks in advance for any help!!!
--
David Brophy
[email protected] <mailto:[email protected]>
--
J.