Re: How to limit # of messages for one destination in the active queue?

From: Kenneth Marshall (no email)
Date: Fri Mar 19 2010 - 11:11:24 EDT

  • Next message: Victor Duchovni: "Re: How to limit # of messages for one destination in the active queue?"

    What about setting a second instance up to use for your
    slow destinations. Then you can route to that instance from
    your production instance and keep those messages from
    impacting the faster sites.

    Cheers,
    Ken

    On Fri, Mar 19, 2010 at 03:58:42PM +0100, Attila Nagy wrote:
    > Hello,
    >
    > I have a somewhat busy mail relay running postfix 2.7, which has problems
    > with a slow destination.
    > The symptom: the incoming queue grows large, the active queue is always at
    > qmgr_message_active_limit and only (well, mostly) contains messages for the
    > slow domain.
    > What I have already tried:
    > - growing the active_limit, which of course could help only by setting so
    > high that it could suck in all messages in the incoming queue
    > - defining a different transport for the slow domain and setting
    > destination concurrency limits
    >
    > I don't really get the point in this, but I guess I've just overlooked
    > something. Why is it good to move as much as qmgr_message_active_limit
    > messages for the same domain into the active queue, without taking the
    > outbound bandwidth into account? I mean if postfix sees that it can't
    > deliver that much messages for the given domain as it moves into the active
    > queue, it means it will lock (slow) everybody out, like the case below and
    > inflate the size of the incoming queue and delivery times for other
    > destinations.
    >
    > I can't limit the number (or rate) of incoming e-mails for that domain, and
    > I can't increase the throughput of the destination, because I don't operate
    > it (OK, that may be false, because postfix's destination concurrency
    > adjusments can make it worse than what it could accept).
    >
    > So:
    > - is there any way to let other domains get into the active queue in a fair
    > manner?
    > - is it possible to adjust the incoming->active rate according to the
    > active->removed (delivered) rate? (reading through the docs I guess the
    > basic idea is to make the mails into the deferred queue instead if the
    > target behaves oddly, by blacklisting it, and decreasing the concurrency,
    > but this doesn't help (maybe the opposite, it makes things worse) in this
    > case)
    >
    > qshape outputs (incoming queue is truncated, it contains a lot more
    > destinations)
    >
    > # qshape active
    > T 5 10 20 40 80 160 320 640 1280
    > 1280+
    > TOTAL 19994 0 9 64 212 704 2108 2066 4746 8557
    > 1528
    > citromail.hu 19994 0 9 64 212 704 2108 2066 4746 8557
    > 1528
    >
    >
    > # qshape incoming
    > T 5 10 20 40 80 160 320 640
    > 1280 1280+
    > TOTAL 372213 14382 5276 10390 19830 31805 55481 46843 103169
    > 59415 25622
    > citromail.hu 125378 2645 919 1830 3649 5775 10539 9705 23019
    > 41749 25548
    > freemail.hu 123731 6264 2280 4482 8526 13907 26275 17530 37212
    > 7255 0
    > gmail.com 26613 1402 547 1094 2139 3149 4453 4200 8135
    > 1494 0
    > hotmail.com 8384 524 181 349 636 1019 1340 1323 2515
    > 497 0
    > yahoo.com 7261 228 91 171 450 596 2489 930 2079
    > 227 0
    > vipmail.hu 6925 416 157 271 505 747 1174 1032 2182
    > 441 0
    > t-online.hu 4413 193 86 176 307 479 795 592 1602
    > 183 0
    > chello.hu 1737 104 43 72 127 186 289 237 590
    > 84 5
    > indamail.hu 1120 61 20 48 78 138 151 198 367
    > 59 0
    > invitel.hu 949 36 19 38 59 88 163 165 346
    > 35 0
    > mailbox.hu 724 48 14 34 57 78 112 107 247
    > 27 0
    > t-email.hu 645 35 8 30 36 68 107 91 206
    > 40 24
    > windowslive.com 623 41 13 22 60 65 67 114 186
    > 55 0
    > msn.com 612 35 17 20 38 70 77 73 256
    > 26 0
    > index.hu 561 39 11 28 43 83 88 72 157
    > 40 0
    > fibermail.hu 547 30 9 13 36 46 102 58 225
    > 24 4
    > c2.hu 521 30 9 32 29 53 79 86 174
    > 29 0
    > [...]
    >
    > I think qmgr would be "fair", if the above table would contain the same
    > line as now for citromail, and a lot of zeroes in the 5 and older columns
    > for the other destinations (and of course lower numbers in the first column
    > as well, because mails could get out quickly).
    >
    > For example delivery times after the messages could get into the active
    > queue are fast for the other destinations:
    > Mar 19 15:44:15 mail postfix/smtp[31804]: E55A981133: to=<@freemail.hu>,
    > relay=fmx.freemail.hu[195.228.245.2]:25, delay=7161,
    > delays=7160/0.01/0.19/1, dsn=2.0.0, status=sent (250 ok 1269009853 qp
    > 89615)
    > Mar 19 15:47:17 mail postfix/smtp[33163]: E8F598BD97: to=<@gmail.com>,
    > relay=gmail-smtp-in.l.google.com[209.85.210.81]:25, delay=5222,
    > delays=5221/0.01/0.35/0.92, dsn=2.0.0, status=sent (250 2.0.0 OK 1269010037
    > 13si2214707yxe.45)
    > Mar 19 15:47:12 mail postfix/smtp[33144]: E8FEA90176: to=<@hotmail.com>,
    > relay=mx1.hotmail.com[65.54.188.126]:25, delay=4103,
    > delays=4102/0/0.53/0.64, dsn=2.0.0, status=sent (250
    > <26885169 dot 544531269005928867 dot JavaMail dot noreply at be> Queued mail for delivery)
    >
    > And this is one for citromail:
    > Mar 19 15:47:47 mail postfix/smtp[33147]: 28E47768F4: to=<@citromail.hu>,
    > relay=server03.citromail.hu[91.83.45.3]:25, conn_use=76, delay=9538,
    > delays=5062/4475/0/0.33, dsn=2.0.0, status=sent (250 ok 1269010067 qp
    > 29585)
    >
    >


  • Next message: Victor Duchovni: "Re: How to limit # of messages for one destination in the active queue?"





    Hosted Email Solutions

    Invaluement Anti-Spam DNSBLs



    Powered By FreeBSD   Powered By FreeBSD