On 2017-04-11 14:04:08 (-0400), Viktor Dukhovni <postfix-us...@dukhovni.org> 
wrote:
On Apr 11, 2017, at 1:55 PM, Philip Paeps <phi...@trouble.is> wrote:
It is worth repeating that the spinning rust actually matters in this case: Postfix fsync()s when accepting a message into the queue. The time to it takes to enqueue a message is at least the time it takes to write it to disk, not simply the time it takes to hit the buffer cache.

For high-volume senders, the main problem is usually getting the mail *out*
faster with less friction from the receiving systems.  Accepting mail faster
is not necessarily a good idea, if that just means a bigger backlog.

I'm aware of that. :) I merely wanted to remind the OP (and anyone stumbling across this thread in the archives) that the time it takes to enqueue mail should not be underestimated. Many common workloads don't have to care too much about disk latency because they're protected by the buffer cache. This is not the case when handling large volumes of mail.

Ideally you want to be able to get mail out as fast as it's coming in or at least not very much slower but you don't have complete control over that (sites you need to deliver to can go down or refuse to take mail from you for a while, etc).

If you know you need to relay half a million messages in a short period of time weighing about 100Gbytes in total, you need to be prepared to enqueue an appreciable fraction of that volume.

The OPs efforts should go towards understanding what it takes to send email at the intended volume. Receiving it fast enough is a secondary issue.

It sounds like the OP is largely unprepared for the task at hand. This requires real experience and dedicated effort. Just asking for a few ideas on this list is unlikely to be sufficient.

I agree.

A sane approach is to start small, grow gradually, and solve small problems as they come up, before they become big problems. Going from nothing to sending a very large volume of mail is not easy.

At the very least, the OP should spend what little time he has before he needs to handle this load becoming as familiar as possible with the TUNING_README and probably also QSHAPE_README.

That will hopefully prepare him enough to balance the rate of mail coming in against the rate he can get it out. It still might not be very pretty though.

Philip

--
Philip Paeps
Senior Reality Engineer
Ministry of Information

Reply via email to