NQMGR(8)                                                 NQMGR(8)



名前
       nqmgr - Postfix キューマネージャ

書式
       nqmgr [generic Postfix daemon options]

解説
       nqmgr デーモンは入ってくるメールの到着を待ち、Postfix 配送
       プロセスが配送するための準備をします。実際のメールルーティ
       ング方法は trivial-rewrite(8) デーモンに委託されます。この
       プログラムは master(8) プロセスマネージャから起動される こ
       とを想定しています。

       ロ ーカルの double-bounce アドレス宛のメールは静かに捨てら
       れます。これにより配送できないバウンス通知によって起こる潜
       在的なループが止められます。

メールキュー
       nqmgr デーモンは次のキューの保守をします:

       incoming
              ネッ ト ワ ークから入ってくるメール、またはローカル
              pickup エージェントが maildrop ディレクトリから拾っ
              てきたメール。

       active  配送するためにキューマネージャが開いたメッセージ。
              active キューに入れられるメッセージは限られた数だけ
              です(固定された配送速度のための穴あきバケツ戦略)。

       deferred
              最 初 の 試行で配送できなかったメール。キューマネー
              ジャには配送試行の間隔を倍にして指数的に遅らせる 機
              構が組み込まれています。

       corrupt
              読 めない、もしくは損傷したキューファイルは検査のた
              めにここに移動されます。

       hold   "hold" に保存されたメッセージは誰かが開放するまでそ
              こに留められます。

配送状態レポート
       nqmgr デーモンは次のディレクトリのメッセージごとの配送状態
       レポートに注目しつづけます。それぞれの状態レポートファイル
       は対応するメッセージファイルと同じ名前です:

       bounce  なぜメールがバウンスされたかという受信者ごとの状態
              の情報。これらのファイルは bounce(8) デーモンにより
              保守されます。

       defer   なぜメールが遅延されたかという受信者ごとの状態の情
              報。これらのファイルは defer(8) デーモンにより保 守
              されます。

       nqmgr  デーモンは bounce(8)defer(8) デーモンに不達レポ
       ートを送るように依頼する責任を負います。

方法
       キューマネージャにはキューファイルを開いたり(入力)メッセー
       ジ配送 (出力)するための様々な方法が組み込まれています。

       leaky bucket
              こ の 方 法は active キュー内のメッセージの数を制限
              し、負荷が重い時にキューマネージャがメモリを使い 果
              たすのを防ぎます。

       fairness
              active キューの場所が空いている時、キューマネージャ
              は incoming キューと deferred キューから1メッセージ
              ず つ持ってきます。これは未処理のメールが新しいメー
              ルの配送を妨げることを防ぎます。

       slow start
              この方法は同じ目的地への並列配送数をゆっくり調整 す
              る こ とで、「大群(thundering herd)」問題をなくしま
              す。

       round robin
              キューマネージャは配送先で要求をソートします。ラ ウ
              ン ドロビン選択により、一つの送信先への配送が他の送
              信先を支配することがないようにします。

       exponential backoff
              最初の試行で配送できなかったメールは遅延されま す。
              配 送試行の時間間隔はそれぞれの試行ごとに倍になりま
              す。

       destination status cache
              キューマネージャは配送できない送信先を短期間のメ モ
              リ 内リストに保持することで、不必要な配送試行を避け
              ます。

       preemptive message scheduling
              キューマネージャは洗練されたプリエンプティブメッ セ
              ー ジスケジューリングを使ってメッセージ毎の正確な遅
              延を保存する一方で、受信者毎の遅延の平均を最小化 し
              ようとします。

トリガー
       アイドル状態のシステムでは、キューマネージャはイベントのト
       リガーの到着を待つか、タイマーで落ちるのを待ちます。トリガ
       ー は1バイトのメッセージです。メッセージの到着に依存して、
       キューマネージャは次のうち一つの行動を起こします(メッセ ー
       ジの後にソフトウェアの内部で使われるシンボル的な定数が続き
       ます):

       D (QMGR_REQ_SCAN_DEFERRED)
              遅延キューのスキャンをはじめます。すでに遅延キュ ー
              の スキャンが行なわれている最中であれば、それが終わ
              り次第再びはじめます。

       I (QMGR_REQ_SCAN_INCOMING)
              入ってくるキューのスキャンをはじめます。す で に ス
              キャ ンが行なわれている最中であれば、それが終わり次
              第再びはじめます。

       A (QMGR_REQ_SCAN_ALL)
              遅延キューファイルのタイムスタンプを無視します。 要
              求は次の遅延キュースキャン時に有効です。

       F (QMGR_REQ_FLUSH_DEAD)
              動 い て いない配送方法や配送先に関する情報を消しま
              す。

       W (TRIGGER_REQ_WAKEUP)
              目覚し。これはマスターサーバがサーバ群にいなくな ら
              な いように説得するために使います。この動作は入って
              くるキューのスキャンをはじめます。

       nqmgr デーモンはトリガーのバッファ全体を読みます。複数の別
       々 のトリガー要求は一つにまとめられ、AFDI より
       先になるようにソートされます。従って、遅延キューを動かすに
       は  A F D を要求し、キューマネージャに新しいメールの到着を
       知らせるには I を指定します。

標準
       なし。nqmgr デーモンは外界と接触しません。

セキュリティ
       nqmgr デーモンはセキュリティに注意を払う必要がありません。
       1 文 字 メッセージを信頼しないローカルユーザから読みこむた
       め、サービス拒否攻撃(Denial of Service attacks) には 弱 く
       なっ て い ます。 nqmgr デーモンは外の世界とは話をしません
       し、chroot された環境では低い特権に固定されて動きます。

診断
       問題や処理は syslog デーモンに記録されます。不正なメッセー
       ジ ファイルは詳細な調査のために corrupt キューにセーブされ
       ます。

       notify_classes パラメータの設定によっては、ポストマスタ ー
       にバウンスやその他のトラブルが通知されます。

バグ
       単 独のキューマネージャプロセスは smtpd のような複数のフロ
       ントエンドプロセスとディスクアクセスの競合をします。突然た
       くさんのメールが入ってくると、外への配送速度にネガティブな
       影響を及ぼすことがあります。

設定パラメータ
       以下の main.cf パラメータは特にこのプログラムに関連があ り
       ま す。文法の詳細やデフォルト値は Postfix main.cf ファイル
       を参照してください。設定の変更後は postfix reload コマンド
       を使ってください。

その他
       allow_min_user
              "-" で始まる受信者アドレスはバウンスしない。

       queue_directory
              Postfix キューのトップレベルディレクトリ。

アクティブなキューの制御
       下 の文章で、transportmaster.cf エントリの最初のフィー
       ルドです。

       qmgr_clog_warn_time
              特定の配送先が active キューを妨げているという警 告
              の最小遅延間隔。 0 を指定すると無効にします。

       qmgr_message_active_limit
              アクティブなキューの数を制限する。

       qmgr_message_recipient_limit
              メモリに保持する受信者の数を制限する。

              こ のパラメータは単期間・メモリ内配送先キャッシュの
              サイズも制限します。

       qmgr_message_recipient_minimum
              メッセージ毎のメモリ内受信者の最小値。

       default_recipient_limit
              transport ごとのメモリ内受信者数の制限のデフォル ト
              値。

       transport_recipient_limit
              指定されたメッセージ transport に対する、メモリ内受
              信者数の制限。

       default_extra_recipient_limit
              プリエンプティブメッセージが持てる transport ごとの
              メモリ内受信者数の合計の制限のデフォルト値。

       transport_extra_recipient_limit
              transport  配送により配送される全てのプリエンプティ
              ブメッセージ transport が持つことが可能なメモリ内受
              信者数の制限。

タイミング制御
       minimal_backoff_time
              遅延メッセージの配送試行間隔の最低秒数。

              こ の パ ラメータは単期間・メモリ内配送先状態キャッ
              シュに届かない配送先を記憶しておく時間も制 限 し ま
              す。

       maximal_backoff_time
              遅延メッセージの配送を試行する最大間隔秒数。

       maximal_queue_lifetime
              配 送できないとして返送するまでキューに入っている最
              大の日数。

       queue_run_delay
              遅延キューをスキャンする間隔の秒数。キューのス キャ
              ンは重なりません。

       transport_retry_time
              壊れた配送方法に連絡を試みる間隔の秒数。

並列度制御
       initial_destination_concurrency
              同 じ配送先に並列で配送する際の、配送先ごとの並列度
              の初期値。

       default_destination_concurrency_limit
              同じ配送先への並列度の制限数のデフォルト。

       transport_destination_concurrency_limit
              指定されたメッセージ transport での同じ配送先に対す
              る並列配送数の制限。

受信者制御
       default_destination_recipient_limit
              メッセージ配送ごとの受信者数の制限のデフォルト。

       transport_destination_recipient_limit
              指定されたメッセージ transport での、メッセージ配送
              ごとの受信者数の制限のデフォルト。

メッセージのスケジューリング
       transport_delivery_slot_cost (有効範囲: 0,2,3...)
              このパラメータは基本的に、transport によるメッセ ー
              ジ 配送が他のメッセージに割り込まれる頻度を制御しま
              す。メッセージ/配送内部カウンタは それぞれの trans-
              port  によって扱われる transport_delivery_slot_cost
              配送に対して、 1 だけ増加します。このカウンタは他の
              メッ セージが使うための "利用可能な配送スロット" の
              数を表しています。 "利用可能な配送スロット" カウ ン
              タの値よりも少ない transport エージェントを使って他
              のメッセージが配送されると、カレントメッセージは 他
              のメッセージによる割り込みを受けます。

              値が 0 に等しいと、transport に対するメッセージの割
              り込みを無効にします。

       transport_minimum_delivery_slots
              利用可能な配送スロットを少なくとも  transport_mini-
              mum_delivery_slots   個 蓄 積 で きないメッセージが
              transport によって配送される時には、メッセージの 割
              り込みは全く試行されません。

       transport_delivery_slot_discount (有効範囲: 0..100)

       transport_delivery_slot_loan
              メッ セージの割り込みが起こるとこれらのパラメータは
              すぐにスピードを上げます。要求された配送スロット の
              全 て が 使えるようになるのを待つ代わりに、必要量の
              transport_delivery_slot_discount パーセントに加えて
              transport_delivery_slot_loan が蓄積されて残っていれ
              ば、割り込みが起こります。他の割り込みが後で起こ る
              前 に総量がたまらなければいけないことに注意してくだ
              さい。

       default_delivery_slot_cost

       default_minimum_delivery_slots

       default_delivery_slot_discount

       default_delivery_slot_loan
              transport に固有のパラメータのデフォルト値は上に 書
              かれています。

関連項目
       master(8), プロセスマネージャー
       syslogd(8) システムロギング
       trivial-rewrite(8), アドレスルーティング

ライセンス
       The Secure Mailer license はこのソフトウェアと一緒に配布さ
       れなければいけません。

作者
       Wietse Venema
       IBM T.J. Watson Research
       P.O. Box 704
       Yorktown Heights, NY 10598, USA

       Scheduler enhancements:
       Patrik Rak
       Modra 6
       155 00, Prague, Czech Republic



                                                         NQMGR(8)