同じクライアントからPostfixサーバーへの同時接続数を制限するのに問題があります。同じまたは異なるクライアントからの同時プロセスの最大数を制限することは簡単に行われます。
main.cf
で使用する2つのパラメーターは次のとおりです。
default_process_limit = 50
smtpd_client_connection_count_limit = 25
テスト時には、同じクライアントから100の同時接続(スレッド)を実行していますが、25だけではなく50のsmtpdプロセスに制限されています。サーバーでのsmtpd
プロセスのカウント方法は次のとおりです。
ps -C smtpd | wc -l
なぜこれが起こるのか誰か知っていますか?
実行中のsmtpdの最大数を変更する場合は、/etc/postfix/master.cf
で変更する必要があります。 7番目の列で-
を50
に変更し、postfix restart
(またはディストリビューション固有の代替)でpostfixを再起動します。
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - - - - smtpd
これをに変更
smtp inet n - - - 50 smtpd
smtpd_client_connection_count_limit smtpクライアントが作成できる接続の数を制限します。
デフォルトで実行されるsmtpdサーバーの数は示していません。 (デフォルトでは、smtpd_client_connection_count_limitはデフォルトのプロセス制限の半分です。)