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.

Reply via email to