PPoossttffiixx ܥȥͥåʬʬ

-------------------------------------------------------------------------------

ΥɥȤŪŪ

ΥɥȤϴԤ֤ԤԥɥᥤǥȤ줿
Postfix 塼åʬۤ򤹤ΤΩ qshape(1) ץˤĤ
ҤƤޤqshape(1)  Postfix 2.1  "auxiliary" ǥ쥯ȥʲ
Хɥ뤵Ƥޤ

qshape(1) νϤ򤹤뤿ˤϡ͡ Postfix 塼򤹤뤳Ȥ
ΩޤŪΤˡ줾 Postfix 塼ǥ쥯ȥ䤬
ΥɥȤκǸˤ "طʤ˴ؤ: Postfix 塼ǥ쥯ȥ"
˴ñ˽񤫤Ƥޤ

ΥɥȤϰʲ򥫥СƤޤ:

  * qshape ġξҲ
  * qshape Ȥäȥ֥륷塼ƥ
  * 1: 򹯤ʥ塼
  * 2: 񹶷ΥХ󥹤Ǥդ줿 deferred 塼
  * 3: active 塼
  * 4: ̤Хå
  * طʤ˴ؤ: Postfix 塼ǥ쥯ȥ

      o "maildrop 塼
      o "hold" 塼
      o "incoming" 塼
      o "active" 塼
      o "deferred" 塼

  * 쥸å

qqsshhaappee ġξҲ

᡼ή줬٤äꥭ塼ͽ۳礭硢˾Ƚ碌Τ
ΩƤ뤿ᡢѡ桼 (root)  qshape(1) ¹ԤƤqshape(1)
ץ Postfix 塼Ƥɽˤɽޤ

  * ˤϡ塼¸֤ǶΥåФƤϺ٤ֳ֤ǡŤ
    åФƤ (Ū) ¿Ƥֳ֤ɽޤ

  * ļˤ (⤷ "-s" åդ) ɥᥤɽ
    ޤǤå¿ɥᥤ󤬺ǽ󤵤ޤ

㤨СʲνϤ "hold" 塼ˤȤ館줿 spam  (ۤȤɤ٤줿)
ԥɥᥤʬۤξ夫 10 Ԥ򸫤Ƽޤ:

    $ qshape -s hold | head
                             T  5 10 20 40 80 160 320 640 1280 1280+
                     TOTAL 486  0  0  1  0  0   2   4  20   40   419
                 yahoo.com  14  0  0  1  0  0   0   0   1    0    12
      extremepricecuts.net  13  0  0  0  0  0   0   0   2    0    11
            ms35.hinet.net  12  0  0  0  0  0   0   0   0    1    11
          winnersdaily.net  12  0  0  0  0  0   0   0   2    0    10
               hotmail.com  11  0  0  0  0  0   0   0   0    1    10
               worldnet.fr   6  0  0  0  0  0   0   0   0    0     6
            ms41.hinet.net   6  0  0  0  0  0   0   0   0    0     6
                    osn.de   5  0  0  0  0  0   1   0   0    0     4

  * "T" Ϥ줾ΥɥᥤФ (ξԤ) (total)
    Ƥޤ˿դϡ¸֤ʬ (minutes) ʲ
    Υǯ¤㤯ʤΤΥå򼨤ޤ"TOTAL" 
    ٥󥰤줿ԤƤΥɥᥤι׿򼨤Ƥޤ

  * Ǥϡyahoo.com Ȥå 14 ꡢ1Ĥ10ʬ20ʬ
    ֡1Ĥ320640ʬδ֡12Ĥ1280ʬĹ¸֤Ǥ (11440ʬ
    Ǥ)

ǥեȤǤϡqshape ϥѥեޥ󥹤Ϥݤ˺ǤϢܤ٤
塼Ǥ롢 incoming  active 塼ξ碌פ򼨤ޤ

̤Υ塼ΥꥹȤ׵᤹뤳ȤǤޤ:

    $ qshape deferred | less
    $ qshape incoming active deferred | less

 deferred 塼¸ʬۤޤ incoming  activedeferred 塼
碌Τɽޤ

ޥɥ饤󥪥ץɽ "Х" οǤ⾮ХĤǯ¡
ƥɥᥤɽʤɤ椷ޤ"-h" ץѲǽʥå
פϤޤ

qqsshhaappee Ȥäȥ֥륷塼ƥ

qshape νϤ礭ʿ뤳ȤϡΥɥᥤ (⤷
󤫤褿ȼĥƤ) å¿뤳ȤɽƤޤܤ
ɤΥɥᥤ󤬥塼ԤޤϼԤ¿Ƥ뤫䡢ĺ᡼뤬
ȯŪ˻ϤޤäƤĻߤޤä狼ϤǤ

ԥɥᥤϽϤ줿ɽκγѶ᤯˸ޤactive
塼Ϻ 20000 ($qmgr_message_active_limit) åޤбǤ
ȤФƤƤ¤ãɤåˤϡ
ΥޥɤȤޤ:

    $ qshape -s active | head       (Ԥ׾򼨤ޤ)

Կιפ 20000 ʲǤСactive 塼Ϥޤ˰¤Ƥ餺
Ԥ̤ˤɥᥤϽϤξ˼ޤ

active 塼Ϻ 20000 μԥɥ쥹 ($qmgr_message_recipient_limit) Ǥ
¤ޤ¤ξ٤åˤϡΥޥɤȤޤ:

    $ qshape active | head          (Ԥ׾򼨤ޤ)

̤ˤɥᥤ򸫤Ĥ顢Υɥᥤ˴ϢǶΥå
ȡΩޤ

    # example.com ؤ򸫤Ĥ
    #
    $ tail -10000 /var/log/maillog |
            egrep -i ': to=<.*@example\.com>,' |
            less

    # example.com Υå򸫤Ĥ
    #
    $ tail -10000 /var/log/maillog |
            egrep -i ': from=<.*@example\.com>,' |
            less

Υ塼 id ˤĤƤߤޤ礦:

    # Υ塼 id ˤĤƤƤΥå򸫤Ĥޤ
    #
    $ tail -10000 /var/log/maillog | egrep ': 2B2173FF68: '

˽񤫤줿塼ޥ͡ηٹåõƤηٹ
¤άƤ뤫⤷ޤ

    $ egrep 'qmgr.*(panic|fatal|error|warning):' /var/log/maillog

Ƥ˼Ԥ顢Postfix ᡼󥰥ꥹȤ˽ƤߤƤ
ΤȤ qshape(1) Ϥξ1020Ԥޤ뤳Ȥ˺ʤǤ

11:: ʥ塼

incoming  active 塼򸫤ȡ̾ξﲼǤ (ʤ)
incoming  active 塼϶˶ᤤ֤Ǥactive 塼̩ǤʤС
᡼äƤȤۤȤɤ˥ƥΥƤޤٱ䤵ޤ

    $ qshape        (incoming  active 塼ξ֤򼨤ޤ)

                     T  5 10 20 40 80 160 320 640 1280 1280+
              TOTAL  5  0  0  0  1  0   0   0   1    1     2
      meri.uwasa.fi  5  0  0  0  1  0   0   0   1    1     2

2ĤΥ塼̡˸ȡincoming 塼϶餯û֤1Ĥ2Ĥ
åꡢФ active 塼Ϥ⤤餫Ĺ֡
¿ΥåƤޤ:

    $ qshape incoming

                     T  5 10 20 40 80 160 320 640 1280 1280+
              TOTAL  0  0  0  0  0  0   0   0   0    0     0

    $ qshape active

                     T  5 10 20 40 80 160 320 640 1280 1280+
              TOTAL  5  0  0  0  1  0   0   0   1    1     2
      meri.uwasa.fi  5  0  0  0  1  0   0   0   1    1     2

22:: ΥХǤդ줿 ddeeffeerrrreedd 塼

ϥۥƥ󥰤ƤɥᥤΰФƤޤԸڤȤʤ
ФΤΤǤڤȤʤɥᥤǤμ񹶷ϥХ󥹤θ
ĤʤäƤޤޤХ󥹤塼ۤƤޤޤŬڤ
塼˥󥰤Ƥ incoming  active 塼˰¤뤳ȤϤޤ
̤ٱ᡼ϷٹľܤθˤϤʤޤ

    $ qshape deferred | head

                             T  5 10 20 40 80 160 320 640 1280 1280+
                    TOTAL 2234  4  2  5  9 31  57 108 201  464  1353
      heyhihellothere.com  207  0  0  1  1  6   6   8  25   68    92
      pleazerzoneprod.com  105  0  0  0  0  0   0   0   5   44    56
           groups.msn.com   63  2  1  2  4  4  14  14  14    8     0
        orion.toppoint.de   49  0  0  0  1  0   2   4   3   16    23
              kali.com.cn   46  0  0  0  0  1   0   2   6   12    25
            meri.uwasa.fi   44  0  0  0  0  1   0   2   8   11    22
        gjr.paknet.com.pk   43  1  0  0  1  1   3   3   6   12    16
     aristotle.algonet.se   41  0  0  0  0  0   1   2  11   12    15

ƤɥᥤϤۤȤɥХ륯᡼ǤꡢƤ̤ʬۤν
Ƥޤû֤®٤ǤäȤ򼨤Ƥޤ
礭äå¸֤ۤɡߤ¿
żƤޤޤɤˤԤʤŤ᡼ϡactive  incoming
塼ʤ¤ꤿƤ̵ǤޤǤʤ groups.msn.com 
漭񹶷⤬äȤǤϤʤष٤®٤ήǤ
ȤƤȤޤ

    $ qshape -s deferred | head

                         T  5 10 20 40 80 160 320 640 1280 1280+
                TOTAL 2193  4  4  5  8 33  56 104 205  465  1309
        MAILER-DAEMON 1709  4  4  5  8 33  55 101 198  452   849
          example.com  263  0  0  0  0  0   0   0   0    2   261
          example.org  209  0  0  0  0  0   1   3   6   11   188
          example.net    6  0  0  0  0  0   0   0   0    0     6
          example.edu    3  0  0  0  0  0   0   0   0    0     3
          example.gov    2  0  0  0  0  0   0   0   1    0     1
          example.mil    1  0  0  0  0  0   0   0   0    0     1

Ԥʬۤ򸫤ȡͽ̤ۤȤɤΥåХ󥹤Ǥ뤳Ȥ
狼ޤ

33:: aaccttiivvee 塼

2004ǯ2 Postfix 桼ꥹȤǤεäƤޤ
ȥץ¤礭Ƥˤ⤫餺active
 incoming 塼礭ʤäƸʤȤԤ𤵤ޤ
Υåɤϰʲ˥ֲƤޤ:
http://groups.google.com/groups?th=636626c645f5bbde

ŤС qshape(1) ȤȡƤΥåäĤ
˸줿ΤǤ뤳Ȥ˳Фޤ:

    $ qshape        (incoming  active 塼ξ֤򼨤ޤ)

                               T   A   5  10  20  40  80 160 320 320+
                     TOTAL 11775 9996  0   0   1   1  42  94 221 1420
      user.sourceforge.net  7678 7678  0   0   0   0   0   0   0    0
     lists.sourceforge.net  2313 2313  0   0   0   0   0   0   0    0
            gzd.gotdns.com   102    0  0   0   0   0   0   0   2  100

"A"  active 塼ˤåɽƤꡢ񤫤줿
 deferred 塼ιפɽƤޤ10000 å (Postfix 1.x
active 塼)  active 塼ϤäѤˤʤޤincoming
ϵ®Ƥޤ

褬餫ꤵ줿ΤǡԤϤ򸫤Ĥޤ
Ʊ齦ΤϤʤ꺤Ǥտ mailq(1) νϤ
ɤл褦ʷ̤ޤ塼1åĸƤΤǤ
礭ɾΤϤäȺǤ

44:: ̤Хå

ʤ̤E᡼äΥȤ󤷤Ƥ٤äꤹȡ
᡼åϵ® deferred 塼갭ˤ active 塼
Ƥޤqshape νϤϤɥᥤФơλϤޤä֤
ŤʤƤηв֥ХĤˡ礭ʿɽǤ礦:

    $ qshape deferred | head

                        T   5  10  20  40   80  160 320 640 1280 1280+
               TOTAL 5000 200 200 400 800 1600 1000 200 200  200   200
      highvolume.com 4000 160 160 320 640 1280 1440   0   0    0     0
                 ...

 "highvolume.com" Ȥٱ᡼򤿤³Ƥޤincoming
 active 塼ꤢޤ󤬡deferred 塼12Τ
Ϥᡢ³Ƥޤ

̥᡼褬󤷤Ƥʤ٤ΤǤСactive 塼ˤ
ƱͤԤ뤫⤷ޤactive 塼ԤϷٹ礭
װǤ; ᡼ٱ䤷ꡢˤ access(5) Ԥ˺褦
ꤹ롼ɲä٤ǧ뤿¬꤬ɬפ⤷ޤ

Ƥ MX ۥȤݤ "421 Server busy errors" Ȥʤä³Ϣ³Ū
ȯȤɾ̥᡼褬Ƥ褦ǤСŪ
顼ǤäƤ⡢塼ޥ͡ "Ǥ" Ȥƥޡ
ȤǤޤ $minimal_backoff_time ޡδ¤ڤ줿ǺƤ
ƻԤޤ顼¿ȯˤǤС褬Ƥ "Ǥ" 
ޡ˾̤E᡼뤫⤷ޤ

Τ褦ʥ顼¿ȯǤ褯ˤ˼Τ MTA  Microsoft
Exchange ǡ٤⤯ʤ³ݤޤExchange Фˤ
ץ륹ʤˤ "421" 顼ȤƵݤ줿³
Τ⤢ޤ

ߤǤ anvil(8)  (Postfix 2.1 ˤϴޤޤޤ) ְäꤹ
ȤǡƱͤʰ۾ʿ񤤤򼨤褦 Postfix ꤷƤޤȤǽ
ʤäƤ뤳ȤդƤ֤®٤¤뤿 anvil(8) 
ȤʤǤŪ DoS ɤȤǤꡢ®¤ͤ
˴Ǥ٤Ǥ

ĹܤǸ Postfix λ˴ۥȸФ¹Խᥫ˥ब
"Υ" Ĥ褦Ĵ뤳Ȥ˾ޤޤʬȤ̤Υ᡼
ˤû֤Υ顼¿ȯ򼨤ɬ򴶤硢Ĵ񤷤
ˡޤ

  * master.cf Ѥ "smtp" transport Υꤷޤ

  * master.cf Τ transport ФŬڤʥץ¤ꤷޤ
    (10-20 ϰοɸŪǤ)

  * !!! main.cf Ǥϡ礭ʽӤ transrport Ф
    Ʊ¤ꤷƤ (Ȥ 200)

    /etc/postfix/main.cf:
        initial_destination_concurrency = 200
        transportname_destination_concurrency_limit = 200

     transportname  master.cf Υȥ̾Ǥ

ζä٤ˤäơƱιפŬڤ (10-20 ץ) Τޤޤ
ǡϢ³ 200 Υ顼˴ȥޡѤȤ
̤ޤΥȥå˸¤줿̤ФΤǤ:
ʣΥ顼¿ȯ롢⥹롼ץåȤƤ뤬顼¿ȯˤäƷ֤
©롢ͥؤ̥᡼

Postfix ץ¤ 1 ˸餵줿Ǥ٤褬ʤ硢Ǹ
ʤԤȤûٱ򶴤ळȤǤ

  * Ф transport ޥåץȥˡ1 nexthop Ȥ
    ˴ۥȤꤷޤ

  * transport  master.cf ȥˡ fallback_relay Ȥ
    ꤷ smtp_connect_timeout ˾ͤꤷޤ

    /etc/postfix/transport:
        problem.example.com  slow:[dead.host]

    /etc/postfix/master.cf:
        # service type  private unpriv  chroot  wakeup  maxproc command
        slow      unix     -       -       n       -       1    smtp
            -o fallback_relay=problem.example.com
            -o smtp_connect_timeout=1

βˤäơPostfix smtp(8) 饤ȤȤ
$smtp_connect_timeout ԤĤȤޤβ Postfix ³
ܺ٤ˤΤǡSMTP ³å󥰤Ƴ줿鹹ɬפޤ

褳Фꥨ쥬ȤʲĤ뤳ȤäƤޤ

طʤ˴ؤ:: PPoossttffiixx 塼ǥ쥯ȥ

ʲΥǤ Postfix 塼ˤĤƵҤƤޤ: Ū̾
񤤤ɤΤ褦˸뤫Ӱ۾ʿ񤤤οˡ

""mmaaiillddrroopp"" 塼

Postfix sendmail(1) ޥɤȤäȡ줿åǡpickup(8)
ӥˤäƼ Postfix 塼˻ޤΥåϡ"maildrop"
塼ǽΤԤޤPostfix ƥबưƤʤȤǤ
å "maildrop" 塼˲ä뤳ȤǤޤPostfix ư
åϽϤޤ

Ū⤷ postdrop(1) ץफ鿷᡼뤬Τ줿Ȥ˥塼
ǥ쥯ȥ򥹥󤹤롢󥰥륹åɤ pickup(8) ӥˤäơ
"maildrop" 塼ӽФƤޤpostdrop(1) ץϡ¤ʤ
sendmail(1) ץब᡼ "maildrop" 塼Ǥ褦ˤơ
pickup(8) ӥ˥᡼褦ˤ롢setgid إѡǤ

 Postfix 塼äƤƤΥ᡼ cleanup(8) ӥȤä
ޤcleanup ӥϥ٥פӥإåν񤭴إå
Τɽåư bcc Խ Postfix "incoming" 塼ؤ
åݾڤôƤޤ

cleanup(8) إåޤΤɽåѲǽ CPU ꥽
񤹤뤽¾Υեȥǲ CPU 񤷤ʤ¤ꡢPostfix 
ѥեޥ󥹤ϥǥ I/O ޤcleanup(8) ӥ֤
åꤷȥ졼֤ʤФʤᡢ pickup(8) ӥ
å򥭥塼®٤ʬϥǥ֤ˤä
ޤޤƱȤpostdrop(1) ץब "maildrop" ǥ쥯ȥ
å񤭹ळȤˤƤϤޤޤ

pickup ӥϥ󥰥륹åɤǤ뤿ᡢ
cleanup ӥΥǥ I/O 쥤ƥ (̵Ǥʤˤ + CPU) Ȥ
 Ķʤ®٤ǡƱ1ĤĤå뤳ȤǤޤ

Υ塼ǤԤϥåȡ®٤Ǥäꡢ⤷
 body_checks ˤ cleeanup(8) ӥǲ CPU 񤵤Ƥ
Ȥ򼨤Ƥޤ

ö active 塼äѤˤʤȡcleanup ӥϤ줾Υå
Ȥ $in_flow_delay δֻߤޤ뤳Ȥǡå٤褦Ȥޤ
ξ硢"maildrop" 塼ԤϤǤϤʤήԤȤ
̤ˤʤ뤫⤷ʤȤդƤ

ޤ̤Υ᡼ pickup(8) ӥȤä褦Ȥ٤ǤʤȤ
դƤϤ礭ʥȤϥ󤵤줿᡼ Postfix
sendmail(1)  postdrop(1) Ȥäƺ륳ƥĥե륿λѤ
򤱤ʤФޤ

꤫󤵤줿᡼®٤®Τϡޤʤž롼פ
Υץ˽򼨤Ƥ뤫⤷ޤ󡣥᡼̤
Ŭ٤ʥ٥ݤĤ褦ˤƤ

"postsuper -r" ޥɤ򤷤åƽ뤿 "maildrop"
塼֤ȤǤޤϸŤ content_filter ꥻåȤΤ
ǤǤ¿Υå "postsuper -r" λѤ׵᤹ȡ餫
"maildrop" 塼ε޷äޤ

""hhoolldd"" 塼

ԤϥåưŪ̾ν򱪲󤷤̵¤ "hold" 塼
֤褦 "smtpd" access(5) ݥꥷ cleanup(8) إå/Υå
뤳ȤǤޤ"hold" 塼֤줿åϴԤޤ
ˤȤɤޤޤ"hold" 塼˥åФƤŪԤ
ʤޤ󡣼ư "deferred" 塼˥åФˤϡpostsuper(1)
ޥɤȤȤǤޤ

å̾Υ塼κ̿ (ʤäåԤ
Х󥹤֤) ĶƤŪ "hold" 塼ˤȤɤޤޤ
Τ褦 "Ť" å "hold" 塼ɬפ硢
Ƥ "maildrop" 塼˰ܤơη̥åϿ
ॹפ1ʾεͿ뤳Ȥˤʤޤ"㤤"
åľ "deferred" 塼˰ܤޤ

"hold" 塼 Postfix Υѥեޥ󥹤ˤƤޤ礭
spam 䰭դäեȤפݤˡ"hold" 塼δƻϤ̩ܤ
ưŤޤ

""iinnccoommiinngg"" 塼

Postfix 塼äƤ뿷᡼ cleanup(8) ӥˤä
"incoming" 塼˽񤭹ޤޤ塼ե "postfix" 桼
äƽͭ롢ӥåȥޥ (ޤϥ⡼)  0600 ΥեȤ
ޤθν˸ƥ塼եνǤȡcleanup(8)
ӥϥ塼ե⡼ɤ 0700 ѹơ塼ޥ͡˥᡼뤬
夤ȤΤޤ塼ޥ͡ϥ⡼ɤ 0600 Ǥä cleanup
ˤäƤޤ񤭹ޤƤ롢Դʥ塼ե̵뤷ޤ

active 塼Υ꥽¤ĶᤷƤʤС塼ޥ͡ incoming
塼򥹥󤷤ơ᡼ "active" 塼˻ߤޤ
ǥեȤǤϡactive 塼Ϻ 20000 åޤбޤ
active 塼å¤ãȡ塼ޥ͡ incoming (
deferredʲ) 塼Υߤޤ

̾ξﲼǤϡincoming 塼 (⡼ɤ 0600 Υե뤬) ˶ᤤ
֤ǡ塼ޥ͡ѲǽˤʤȤ˿å active
塼˻ळȤǤޤ

塼ޥ͡㤬 active 塼˥å®ٰʾ˥å
®٤®ʤȡincoming 塼礭ʤޤ塼ޥ͡㤬
٤ʤװ trivial-rewrite ӥˤ transport 䤤碌Ǥ
塼ޥ͡㤬Ĥ٤ʤäƤ褦ǤСtransport θ
"٤" ӥ (MySQLLDAP...) Ȥʤ褦ˤ뤳Ȥ䡢
ӥ󶡤ۥȤι®ƤƤ

塼ޥ͡㤬٤Ϥ᤿Ȥ®٤ޤΤ in_flow_delay
ѥ᡼Ȥޤcleanup(8) ӥϥ塼ޥ͡㤫 "ȡ" 
ʤȡ塼ե $in_flow_delay äδ֡
ߤޤ

cleanup(8) ΥץϤۤȤɤξ硢SMTP Фˤä¤
뤿ᡢ "SMTP ³" / $in_flow_delay å®٤
®٤Ķޤ

ǥեȤ 100 Ȥץ¤ 1s Ȥ in_flow_delay Ǥϡ1Ĥ
˽Ԥ1å¤ˤϷ礬ʬ˶ΤǤ
Ʊ¿ΥϤ餹ۤɤˤ϶ޤ

ФʣáƤǡincoming 塼礭ʤäƤΤ
active 塼äѤǤϤʤtrivial-rewrite ӥ® transport
ᥫ˥ȤäƤ˸¤äơin_flow_delay 10ä˾夲뤳Ȥ
ƤƤ

""aaccttiivvee"" 塼

塼ޥ͡ȤΥ塼Ǥ; ꤵ줿꥽
ǡƤФƥ᡼®Τ뤿Ưޤ

active 塼ϥڥ졼ƥ󥰥ƥΥץ¹ԥ塼Ȼ褦
ΤǤactive 塼ˤåǤƤޤ
(¹Բǽ)Ƥ (¹) ǤɬפϤޤ

ۤȤɤ Postfix Ԥ "active" 塼ϥǥΥǥ쥯ȥ
ͤƤޤºݤ "active" 塼Ȥϥ塼ޥ͡ץΥ
롢ǡ¤åȤΤȤǤ

"maildrop"  "hold""incoming""deferred" 塼ˤå (ʲ
) ϥͭޤ; ϰ˥ǥݴɤ졢
֤ԤäƤޤ"active" 塼ˤåΥ٥׾
Ǵ졢塼ޥ͡㤬ΤΥ塼󥰤򤪤ʤ
褦ˤactive 塼ˤŬڤʥåѲǽ
ץƤޤ

active 塼Ǥϡ(Ԥʣ) åƱ transport/nexthop 
Ȥ߹碌ͭԤΥ롼פʬ䤵ޤ; 롼פ礭
transport Կ¤ޤޤ

(1İʾΥåǤ) ԤʣΥ롼 ϶̤
transport/nexthop Ȥ߹碌Ȥä뤿˥塼ޤ
transport Ф¤ˤäƤ줾 nexthop ؤƱ
ԿޤޤƱ¤ 1  transport ̤Ǥ: 
nexthop ǤϤʤºݤμԥɥ쥹ˤäƥ롼ײޤˤä
ɥᥤ󤴤Ȥ¤ǤϤʤԤȤ¤ͭˤޤԤȤ
¤ϥ⡼ȥФžȤ⡢᡼ܥåؤκǽΤȤ
ŬƤޤ

İʾή줬бϤ٤ʤȡactive 塼Ԥ
ޤФ餯δ褬󤷤ƤΤǤС塼ޥ͡
褬˴ƤȥޡơؤƤΥ᡼Ȥ
Ƥ褦Ȥٱ䤷ޤξ硢åϤ active
塼Υ졢deferred 塼˹Ԥ夭ޤǤϤʤñ٤
äꡢ®٤ˤ꤬ˤϡactive 塼³
ԤƤؤΥ᡼˻ۤ뤳Ȥˤʤޤ

Ԥ򸺤餹ˡ®٤򲼤뤫롼ץåȤ夲뤳ȤΤɤ餫Ǥ
롼ץåȤ夲ˤ夲뤫Υ쥤ƥ󥷤򲼤ɬפޤ

絬ϥȤǤϡȤʤ塼˥󥰥ѥ᡼ "smtp"  "relay"
transport ˳Ƥ "smtp" ȿǤ絬ϥȤ
¿ΰۤʤ뷹ꡢ¿󤷤Ƥ٤ä
뤫⤷ʤᡢѲǽȤ򤫤ʤ꾯ʤ
٤ȤԤĤΤǤդ뤳Ȥˤʤޤޤ˸줿
᡼ SMTP ޥɱΥ쥤ƥ󥷤礭ʤäƤޤΤǡ
Ȥ¿뤳ȤˤäƤΤߥåι⤤롼ץåȤ
ޤ

100 ȤǥեȤ "smtp" ץ¤ϤۤȤɤΥȤǤϽʬǤꡢ
㤤Х³Ƥ륵ȤǤ㤯ɬפ뤫⤷ޤ
(ͥåȥΥѥפäѤʤΤ䤹Τ̵̤Ǥ)"˻ʤ"
ƥ (CPUǥ I/O ӥͥåȥȤԤƤʤ) 
塼礭ʤäƤ硢ĤԤͳϹ⤤ʿѥ쥤ƥ󥷤ľ̤
­ǤԤ SMTP ³ (ESTABLISHED ޤ SYN_SENT Τɤ餫)
ץ¤ãƤơ᡼뤬äꤷή줺ƥͥåȥ
٤⤯ʤС"smtp"  "relay" ץ¤夲Ƥ!

ä "relay" transport ФƤϡSMTP ³ॢȤû (1-5 ) 
Ʊ¤ǥեȤ⤯뤳ȤƤƤ絬ϥȤ
N Ĥ MX ۥȤΤ1Ĥ󤷤ƤƱʤͽۤ
쥤ƥ󥷤׻ơꤵ줿Ʊ򤳤Υ쥤ƥ󥷤ǳäͤɬפ
֥å®٤ĶƤ뤳ȤǧƤ⤷ʤ
ƤΤǤСMX ۥȥ롼פ˥ɥХ󥵤֤뤳Ȥ
ƤƤɥХ󥵤ϥåץबĹġ MX ۥȤ
㳲äǤޤ

ɬפʤС絬ϤѤΥ transport ѰդĴƤ

¾ˤ褯ԤθȤơdeferred 塼Τ flush ޤ
deferred 塼˼ԤǤäꡢ˼Ԥۤ٤
(ॢ) åݻƤޤϡ礭 deferred 塼
Фꥢ (flush 뤳!) Ϥɤ餫ȤŪǤꡢ
򰭲뤫⤷ʤȤȤ̣ޤdeferred 塼
ȤΤۤȤɤǽˤʤꤽ (㤨СξΥ졼ۥ
Хåå) ȤΤǤʤСdeferred 塼 flush ʤǤ!

塼ޥ͡㤬Ƶưݤˤϡactive 塼˥åǤˤ뤫
ޤ󤬡 "ºݤ" active 塼϶Ǥ뤳Ȥդ
ξ֤뤿ˡ塼ޥ͡Ƥ active
塼å incoming 塼ᤷ줫Ƥ̾ incoming 塼
Ȥä active 塼ޤåƤԤä褿ꤵ
ץƤ transport ơ֥ (trivial-rewritre(8) 襵ӥ) 
ʤåƤӥ˻ȤΤ٤⤤ΤǤˤ
塼ޥ͡ƵưΤФ򤱤Ƥ

""ddeeffeerrrreedd"" 塼

åǽƤμԤơԤؤϰŪͳ
(뤫⤷ʤ) ǼԤ硢å deferred 塼
֤ޤ

塼ޥ͡ deferred 塼Ū˥󤷤ޤδֳ֤
queue_run_delay parameter ˤä椵ޤdeferred 塼
ʹˡincoming 塼ʹǤ (Ūˤ incoming 塼
ϤʤΤǡûϤǤ)塼ޥ͡Ͽ "incoming"
åȿ "deferred" åߤ˥塼ޤ
"饦ɥӥ" ά incoming 塼 deferred 塼Τɤθϳ
ɤޤ

1 deferred 塼ǤϾ deferred 塼 active 塼
ƺƻԤޤ deferred 塼ˤ뤽줾Υåˤ
ٱ䤵줿Ȥ "" ֤Ƥ뤿Ǥϥ塼ե
֤̤˥פ뤳ȤǼ¸ƤޤˤޤãƤʤ
塼եϺƻԤ븢ޤ

"" ֤Ϻ $minimal_backoff_time $maximal_backoff_time Ǥ
κƻԻϥåΥ塼ں߻֤2ܤˤʤ褦˾岼
Ĵ뤳Ȥꤵޤϼ㤤åϻϤϸŤå
ˤ˺ƻԤȤȤǤ

絬ϥȤΤŪ deferred 塼礭ʤΤǤС
ǽμԤǤϽʬûٱǡʣԤϤĹٱȤʤ褦ˤ
Ťåκž®٤򸺤餷active 塼ΰٱ䤵줿᡼
̤򸺤餹 queue_run_delay  minimal_backoff_timemaximal_backoff_time
ꤹΤŪ⤷ޤ

deferred 塼礭ʤ븶ϡSMTP Ϥξ̤ǼԤγǧμԤ
褯ޤѥޡŪ˱Ǥʤɥ쥹鼭񹶷ųݤ뤿ᡢ
̵ʼԥɥ쥹ؤΥХ󥹤 deferred 塼ͤޤ餻Ƥޤޤ
(Ƥ̤礭ʤˤĤ active 塼ͤޤ餻Ƥޤޤ)
local_recipient_maps  relay_recipient_maps ѥ᡼ȤäơԤ
ͭǧ뤳Ȥ򶯤侩ޤ

̤ٱ᡼뤬ۥȤФ餯󤹤ȡdeferred 塼Τ
Ʊ˺ƻԻ֤ãǽޤˤꡢۥȤ褷
active 塼ˤäѤˤƤޤͤޤԤûȯθ
åƤٱ䤵ȡ褽 maximal_backoff_time äȤˤθݤ
֤뤫⤷ޤۤȤƤϡ֤ deferred 塼
flush Ψ򸺤餹ˡ Postfix ϺƻԻ֤˥
եåȤä뤳ȤˤʤǤ礦 (⤷άȤ߹碌Ǥ礦)

쥸å

qshape(1) ץ Morgan Stanley  Victor Duchovni ˤäƳȯ
졢ޤΥɥȤκǽΥСब񤭤ޤ

