Wietse: I know who you are -- big fan of yours ever since tcpwrappers :-)
The only reason I wrote in is that this queueing of mail issue appeared fairly recently, and other times when I have had to collect large volumes of mail from this client my system has been fine. Below I have pasted some logs that show long delivery times (sitting in the queue for a day) but the last delay (delivery delay?) is in the upper-teens. Just trying to reconcile why this is: if it's something on my end that is fine and I can work it out, but maybe it is an unforeseen issue with Postfix and large volumes of piped mail. The system itself is a Nehalem Xserve, so it seems to have plenty of horsepower to handle the load. (anonymized a bit in hostname and email address) Jan 14 15:45:43 server001 postfix/local[24570]: 26E371265ED: to=<receiver_em...@receiver_ip>, relay=local, delay=81352, delays=0.59/81343/0/7.7, dsn=2.0.0, status=sent (delivered to command: /usr/bin/db_capture) Jan 14 15:45:43 server001 postfix/local[22292]: AFAF31265EA: to=<receiver_em...@receiver_ip>, relay=local, delay=81353, delays=0.5/81344/0/8.2, dsn=2.0.0, status=sent (delivered to command: /usr/bin/db_capture) Jan 14 15:45:45 server001 postfix/local[23365]: B811A1265E3: to=<receiver_em...@receiver_ip>, relay=local, delay=81355, delays=0.34/81341/0/13, dsn=2.0.0, status=sent (delivered to command: /usr/bin/db_capture) Jan 14 15:45:45 server001 postfix/local[23852]: E5F061265EC: to=<receiver_em...@receiver_ip>, relay=local, delay=81354, delays=0.41/81344/0/10, dsn=2.0.0, status=sent (delivered to command: /usr/bin/db_capture) Jan 14 15:45:46 server001 postfix/local[23580]: F15EA1265D5: to=<receiver_em...@receiver_ip>, relay=local, delay=81358, delays=0/81339/0/19, dsn=2.0.0, status=sent (delivered to command: /usr/bin/db_capture) Jan 14 15:45:46 server001 postfix/local[22196]: 3121C1265E5: to=<receiver_em...@receiver_ip>, relay=local, delay=81356, delays=0.42/81342/0/14, dsn=2.0.0, status=sent (delivered to command: /usr/bin/db_capture) Jan 14 15:45:46 server001 postfix/local[25810]: E55181265EB: to=<receiver_em...@receiver_ip>, relay=local, delay=81355, delays=0.19/81344/0/11, dsn=2.0.0, status=sent (delivered to command: /usr/bin/db_capture) Jan 14 15:45:46 server001 postfix/local[25651]: 8918B1265E2: to=<receiver_em...@receiver_ip>, relay=local, delay=81356, delays=0/81341/0/15, dsn=2.0.0, status=sent (delivered to command: /usr/bin/db_capture) Jan 14 15:45:46 server001 postfix/local[24774]: B6F851265D2: to=<receiver_em...@receiver_ip>, relay=local, delay=81358, delays=0/81337/0/21, dsn=2.0.0, status=sent (delivered to command: /usr/bin/db_capture) Jan 14 15:45:47 server001 postfix/local[25378]: 26EDF1265EE: to=<receiver_em...@receiver_ip>, relay=local, delay=81355, delays=0.57/81343/0/11, dsn=2.0.0, status=sent (delivered to command: /usr/bin/db_capture) Jan 14 15:45:48 server001 postfix/local[23204]: DC9B11265E4: to=<receiver_em...@receiver_ip>, relay=local, delay=81358, delays=0.32/81342/0/16, dsn=2.0.0, status=sent (delivered to command: /usr/bin/db_capture) Jan 14 15:45:49 server001 postfix/local[24247]: 80DB71265E0: to=<receiver_em...@receiver_ip>, relay=local, delay=81359, delays=0.21/81341/0/18, dsn=2.0.0, status=sent (delivered to command: /usr/bin/db_capture) Jan 14 15:45:49 server001 postfix/local[25905]: 840B11265FC: to=<receiver_em...@receiver_ip>, relay=local, delay=81355, delays=0.35/81348/0/7, dsn=2.0.0, status=sent (delivered to command: /usr/bin/db_capture) Jan 14 15:45:49 server001 postfix/local[24394]: 302EA1265DD: to=<receiver_em...@receiver_ip>, relay=local, delay=81360, delays=0.12/81339/0/21, dsn=2.0.0, status=sent (delivered to command: /usr/bin/db_capture) Jan 14 15:45:50 server001 postfix/local[23554]: 4B37E1265DF: to=<receiver_em...@receiver_ip>, relay=local, delay=81360, delays=0.09/81340/0/20, dsn=2.0.0, status=sent (delivered to command: /usr/bin/db_capture) Warmest Regards, Wendy On Thu, Jan 14, 2010 at 12:34 PM, Wietse Venema <wie...@porcupine.org> wrote: > Wendigo Thompson: >> Victor: >> >> I wanted to use Postfix as a delivery mechanism so that I would be >> able to queue and hold mail during database outages and other >> maintenance -- a job that it does very well. Is there really no >> advice available on how to increase the speed of Postfix's local mail >> delivery? > > I'm the guy who wrote Postfix. > > With your numbers, 300k messsages/day and 3ms/delivery, the whole > day's volume should be done in about 900s. Since you see deliveries > draining into the weekend, your numbers don't seem to add up. > > In the Postfix logs you can see how long it took to deliver mail. > Here is an example of a pipe alias that handles all my own email: > > Jan 14 00:08:51 spike postfix/local[98331]: 9F53A1F3EA5: > to=<xxx>, relay=local, delay=0.41, > delays=0.37/0.02/0/0.03, dsn=2.0.0, status=sent (delivered > to command: yyy) > > Here, it took 0.03 seconds to deliver a small message for "xxx" to > a small program "yyy". In addition it took 0.37s+0.02=0.39s to > receive the message and schedule it for delivery. This message > arrived via a slow connection. More information about this is at > http://www.postfix.org/postconf.5.html#delay_logging_resolution_limit > > Now, If you want to deliver hundreds of thousands each day to a > pipe alias, then executing a whole program each time is expensive, > but it is possible if your machine has enough horse power. > > So, we have two options: > > a) The "red" option: to waste more resources, increase concurrency, > by increasing local_destination_concurrency_limit (default: 2). > > b) The "green" option: instead of wasting CPU cycles with a local(8) > pipe alias that executes and terminates one program per delivery, > use transport_maps to direct mail to a persistent SMTP or LMTP > process that keeps the database connection open. This is the > option that Victor suggested. > > Wietse >