Date: Fri, 11 Jun 2010 15:15:55 -0400 (EDT) From: vogelke@pobox.com (Karl Vogel) To: freebsd-questions@freebsd.org Subject: Re: Midphase Hosting Message-ID: <20100611191556.3F9D0BE93@kev.msw.wpafb.af.mil> In-Reply-To: <201006110904.21493.j.mckeown@ru.ac.za> (message from Jonathan McKeown on Fri, 11 Jun 2010 09:04:21 %2B0200) References: <201006101147.40385.j.mckeown@ru.ac.za> <20100610121250.6ae70dfb@scorpio> <4C11133C.1070203@infracaninophile.co.uk> <201006110904.21493.j.mckeown@ru.ac.za>
next in thread | previous in thread | raw e-mail | index | archive | help
>> On Fri, 11 Jun 2010 09:04:21 +0200, >> Jonathan McKeown <j.mckeown@ru.ac.za> said: J> I looked up VERP last night to check that I was right about the extra J> load, and came across a reference to VERP being the idea of DJB, and J> being acceptable to qmail users because there's no penalty load - qmail J> never batches up messages for the same domain, always sending each one J> individually. Is that true? It seems an odd design decision to me. That decision has been the subject of countless arguments. Here's the rationale, according to "The Qmail Handbook". You have these basic choices when sending a message to three users on the same host: 1. Open an SMTP connection to the server, send a copy to user1, another copy to user2, the last to user3, close the connection. 2. Start three processes. Each one opens an SMTP connection, sends a copy to one user, and closes. 3. Open an SMTP connection to the server, send one copy addressed to all three recipients, close the connection. (1) is the worst; if the message is small, it takes at least as much time as (3). If the message is huge, it takes a lot longer and wastes bandwidth. (3) is most efficient in terms of network bandwidth. (2) is what qmail uses. It wastes bandwidth but allows SMTP round-trip delays to occur in parallel, so it's usually faster than (3). It's simpler than (3) so the MTA code is easier to write and verify. Finally, you can use VERP because each user gets their own copy. There are pathological cases where it's slower than (3), but VERP allows bad bounces to be handled automatically, and this plus the code simplicity was considered more important. The bandwidth difference was often exaggerated because: a. most messages have multiple recipients *on separate hosts*, so (3) would not be possible in the first place, and b. SMTP usually takes up a small fraction of the bandwidth on a given host compared to (say) HTTP. If SMTP takes 10% of your bandwidth and you can save 25% of that by using method (3), now it will take 7.5%. -- Karl Vogel I don't speak for the USAF or my company Freedom is the right to tell people what they don't want to hear. --George Orwell
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100611191556.3F9D0BE93>