[Dovecot] Sizing MTA servers

Sven Hartge sven at svenhartge.de
Fri Jan 17 20:36:04 EET 2014


Adrian Zaugg <adi at ente.limmat.ch> wrote:
> Am 17.01.14 10:53 schrieb Stan Hoeppner:
>> On 1/16/2014 6:56 PM, Murray Trainer wrote:

>> MTA = disk.  Always has always will.  Disk throughput is always the
>> critical factor for queue performance, and an MTA is little more than a
>> queue.  Which makes it surprising that so many people ignore disk when
>> talking about mail servers, as you have done here.

> Exim tries to deliver every message without queueing it first.

The documentation says something different:

http://www.exim.org/exim-html-current/doc/html/spec_html/ch-how_exim_receives_and_delivers_mail.html

,----[ 6. Handling an incoming message
| When Exim accepts a message, it writes two files in its spool directory.
| The first contains the envelope information, the current status of the
| message, and the header lines, and the second contains the body of the
| message. The names of the two spool files consist of the message id,
| followed by -H for the file containing the envelope and header, and -D
| for the data file.
`----

and

,----[ 7. Life of a message
| A message remains in the spool directory until it is completely
| delivered to its recipients or to an error address, or until it is
| deleted by an administrator or by the user who originally created it. In
| cases when delivery cannot proceed – for example, when a message can
| neither be delivered to its recipients nor returned to its sender, the
| message is marked “frozen” on the spool, and no more deliveries are
| attempted.
`----

So exim4 _always_ writes a message to disk first and _then_ tries to
deliver the mail.

But: there is a new delivery mode available since Exim 4.82, named
"cutthrough delivery", set via as a control item in the RCPT ACL:

http://www.exim.org/exim-html-current/doc/html/spec_html/ch-access_control_lists.html#SECTcontrols

,----
| control = cutthrough_delivery
|
| This option requests delivery be attempted while the item is being
| received. It is usable in the RCPT ACL and valid only for
| single-recipient mails forwarded from one SMTP connection to another. If
| a recipient-verify callout connection is requested in the same ACL it is
| held open and used for the data, otherwise one is made after the ACL
| completes. Note that routers are used in verify mode.
|
| Should the ultimate destination system positively accept or reject the
| mail, a corresponding indication is given to the source system and
| nothing is queued. If there is a temporary error the item is queued for
| later delivery in the usual fashion. If the item is successfully
| delivered in cutthrough mode the log line is tagged with ">>" rather
| than "=>" and appears before the acceptance "<=" line.
|
| Delivery in this mode avoids the generation of a bounce mail to a
| (possibly faked) sender when the destination system is doing
| content-scan based rejection.
`----

Grüße,
Sven.

-- 
Sigmentation fault. Core dumped.



More information about the dovecot mailing list