On Mon, Jul 31, 2017 at 2:50 PM, Luis E. Muñoz <luisemu...@gmail.com> wrote:

> On 31 Jul 2017, at 13:21, Ryan Harris via mailop wrote:
>
> Not that we're the best neighbors in this regard, but we don't reuse
> connections for the vast majority of endpoints, just the highest by volume,
> and we only keep connections open for potential reuse for 30s.
>
> Have you considered turning the problem around?
>
> If your volume is high enough, queueing the message and delivering in
> batch will give you better throughput in most cases, provided that you can
> afford to retain the messages for a while. If your volume is that high,
> perhaps queueing for 30 seconds and then pipelining all pending messages
> through a couple of SMTP connections could work well enough and not upset
> neighbors.
>
If we were doing mostly "bulk" mail, that would be an interesting
optimization.

In practice, people treat email like instant messaging, and delaying mail
deliberately is not the best choice.

We're also heavily distributed (why use just one server when you can use 7
may be the Google motto), so collecting all messages for a domain to a
single point would also imply some level of single point of failure which
could then cause a retry for a whole batch (which causes delays on the
order of minutes).

We used to do more work to optimize for the smaller hosts, but it
ultimately helped very little and skewed our resource usage way more than
was worth it.

I want to say the cut-off for us is in the range of 100k messages/day, and
when you split that across our 20 datacenters, the chances of reuse where
just not that high.

Brandon
_______________________________________________
mailop mailing list
mailop@mailop.org
https://chilli.nosignal.org/cgi-bin/mailman/listinfo/mailop

Reply via email to