Postfix接続キャッシュPostfix接続キャッシュはじめにこのドキュメントはPostfix接続キャッシュの実装について記述しています。これはPostfixバージョン2.2以降で使えます。接続キャッシュの統計情報SMTP接続キャッシュができることSMTP接続キャッシュを使うと、Postfixは同じSMTP接続で複数のメッセージを配送することができます。2.2は自動的にSMTP接続を再利用します。SMTP接続キャッシュはパフォーマンスの機能です。複数のメールサーバを持つ配送先にメールを配送する場合には、Postfixが応答しないサーバを飛ばす助けとなるため、SMTP接続キャッシュによって大きくパフォーマンスが向上する可能性があります。レイテンシもなくします。SMTPセッションの分解という点では、SMTP接続キャッシュには何の利点もありません。QUITコマンドに対するサーバの応答を待たず、TCPの最後のハンドシェイクが完了するのを待つことは全くありません。コマンドを送る必要があります。それ以外の潜在的なSMTP接続キャッシュの問題点は、このドキュメントの最後にある制限の議論を参照してください。ドキュメントを参照してください。Postfix接続キャッシュはPostfixメール配送プロセス間で共有されます。これにより開かれた接続を再利用する機会が最大化されます。MTAには非共有型の接続キャッシュがあります。そこでは、接続を作ったメール配送プロセスだけが接続を再利用できます。共有接続キャッシュと同じだけパフォーマンスを向上させようとすると、非共有接続は長時間開き続ける必要があります。scache(8)サーバは共有接続キャッシュを管理します。クライアントだけがこのキャッシュをサポートしています。サーバは限られた時間の間、接続を開き続けます。クライアントは他のメール配送要求の処理を続けます。サーバにキャッシュされた接続を要求し、メール配送に再利用するかもしれません。接続先ホストのIPアドレスによって検索されます。これにより、リモートホストが異なる名前のドメインのメールサーバであってもPostfixが接続を再利用できるようになります。オンデマンド接続キャッシュ。これはデフォルトで有効になっており、smtp_connection_cache_on_demand設定パラメータで制御されます。クライアントは自動的に接続を接続キャッシュに保存します。yes配送先ごとの接続キャッシュ。設定パラメータに明示的に特定の配送先をリストアップすることで有効になります。smtp(8)クライアントは常に接続を接続キャッシュに保存します。ドメイン名やリレーホスト名が左側に書かれた"type:table"。検索の右側部分の結果は無視されます。接続キャッシュは広く使われなければいけません。使われないSMTP接続を長時間にわたって開き続けるのは非社会的で、また膨大な数のメッセージを同じ接続で送るのは賢くありません。サーバは限られた時間だけ接続を開き続けます。connection_cache_ttl_limit設定パラメータで指定します。これにより非社会的な振る舞いをしないようにします。クライアントは限られた回数だけセッションを再利用します。これにより1つのセッションで複数の接続を扱えない実装のバグに引っかからないようにします。smtp_connection_cache_reuse_limit設定パラメータで制限されていました。パラメータで指定される時間制限で置き換えられています。Ok)接続キャッシュはキャッシュされた接続それぞれに明示的に配送先ドメインやIPアドレス情報といったラベルを付けます。接続キャッシュ検索は正しい情報が指定されたときのみ成功します。これによりメールの配送ミスを防ぎます。(この制限は接続を作ったプロセスだけが接続を再利用する接続キャッシュ実装には存在しません)。クライアントはTLSを使ったメール配送の試行が完了したら、常に接続を閉じます。接続キャッシュは現在1つのメールサーバに対しての複数のSASLアカウントをサポートしていません。具体的には、Postfix接続キャッシュはSASL証明書は同じメールサーバIPアドレスで同じTCPポートで配送するすべてのホスト名やドメイン名に対して有効であることと、SASL証明書はメッセージ送信者に依存しないことを想定しています。接続キャッシュサーバはキャッシュサイズのピークやキャッシュのヒット率といった統計情報をログに記録します。最大アイドル時間を超過してプロセスが終了するとき、Postfixがリロードされたときに記録されます。ドメインによる接続キャッシュ検索のヒット率によって、接続キャッシュがどれだけ有効かがわかります。同じMXホストを共有する異なるドメインにメールを送っているのでなければ、ネットワークアドレスによる接続キャッシュ検索は常に失敗します。接続キャッシュへのアクセス試行がなければ、統計情報は記録されません。