![]() |
![]() |
![]() |
![]() |
milter-performance-checkはMTAの性能を計測するSMTPクライアント です。milter-test-serverでmilterのみの性能を計測し、 milter-performance-checkでMTAとmilterを合わせた性能を計測する という住み分けです。
同様のツールにはPostfix付属のsmtp-sourceがあります。どちらも、 同時に複数のSMTPセッションを張って一斉にメールを送信すること ができます。機能的にはsmtp-sourceの方が高機能です。
milter-performance-checkが便利なのはSMTPセッションの時間のみ を計測してくれることです。smtp-sourceではtimeコマンドと組み合 わせるなどして、smtp-source全体の実行時間を計測します。
実際は、SMTPセッションの時間のみでも、ツール全体の実行時間で もそれほど違いはでないと思います。また、テスト用のメール総数 を多くすればするほど、SMTPセッションにかかる時間が大きくなり、 ツール自体の実行時間による影響は小さくなります。
milter-performance-checkが提供している機能で十分な時は、 milter-performance-checkを利用し、それでは不十分な時は smtp-sourceを利用するとよいでしょう。
利用できるオプションを表示して終了します。 |
|||||||||
接続先のSMTPサーバを指定します。 既定値はlocalhostです。 |
|||||||||
接続先のSMTPサーバのポート番号指定します。 既定値は25です。 |
|||||||||
接続元のホスト名を指定します。 PostfixのXCLIENT SMTP拡張 のNAMEを利用するので smtpd_authorized_xclient_hosts を適切に設定する必要があります。 |
|||||||||
接続元のアドレスを指定します。 PostfixのXCLIENT SMTP拡張 のADDRを利用するので smtpd_authorized_xclient_hosts を適切に設定する必要があります。 |
|||||||||
HELOコマンドでFQDNを使います。 既定値はlocalhost.localdomainです。 |
|||||||||
1.6.9から使用可能。
STARTTLSを使うかどうかを指定します。指定可能な
既定値は auto です。 |
|||||||||
1.6.9から使用可能。
SMTP認証のユーザ名として
既定値はありません。 |
|||||||||
1.6.9から使用可能。
SMTP認証のパスワードとして
既定値はありません。 |
|||||||||
1.6.9から使用可能。
SMTP認証の方法として
既定値は auto です。 |
|||||||||
1.6.9から使用可能。
接続するMTAのアドレス・ポート番号ごとにSMTP認証の設定を
SERVER1:PORT USER1:PASSWORD1 SERVER2:PORT USER2:PASSWORD2 ... 「smtp.example.com」の「submissionポート」(587番ポート) 宛てのメールは「send-user」ユーザ・「secret」パスワード を使うという設定は以下の通りです。 smtp.example.com:587 send-user:secret 既定値はありません。 |
|||||||||
MAILコマンドのアドレスにFROMを使います。 既定値はfrom@example.comです。 |
|||||||||
送信するメールファイルを指定した場合でも、ファイル中にあ るFrom:の値ではなく、FROMをMAILコマンドのアドレスに使いま す。 既定値はありません。 |
|||||||||
RCPTコマンドのアドレスにRECIPIENTを使います。複数の宛先を 指定する場合は複数回このオプションを指定してください。 既定値は[to@example.com]です。 |
|||||||||
送信するメールファイルを指定した場合でも、ファイル中にあ るTo:の値ではなく、RECIPIENTをRCPTコマンドのアドレスに使 います。複数の宛先を指定する場合は複数回このオプションを 指定してください。 既定値はありません。 |
|||||||||
合計でN個のメールを送信します。複数のメールが同時に送信さ れます。同時に最大で何通送るかは --n-concurrent-connections で指定します。 既定値は100です。 |
|||||||||
メールの本文にN行追加します。 既定値はありません。(追加しません。) |
|||||||||
同時に最大N接続でメールを送信します。 既定値は10です。 |
|||||||||
PERIOD(単位は秒、分、時間のどれか)の間に指定されたメー ルを送信します。各メールは間隔内で平均的に送信します。単 位を省略した場合は秒として扱われます 例(送信メール数を100とする):
既定値はありません。 |
|||||||||
INTERVAL(単位は秒、分、時間のどれか)間隔で指定されたメー ルを送信します。単位を省略した場合は秒として扱われます。 例:
既定値はありません。 |
|||||||||
PERIOD(単位は秒、分、時間のどれか)の間、ずっと指定され たメールを送信します。PERIODを省略した場合はC-cで終了する までずっと指定したメールを送信します。単位を省略した場合 は秒として扱われます。 既定値はありません。 |
|||||||||
送信予定のメールを無作為に並び替えてから送信します。 既定値はfalseです。(並び替えません。) |
|||||||||
SMTPサーバが返した失敗時のメッセージを一番最後に表示しま す。 既定値はfalseです。(表示しません。) |
|||||||||
INTERVAL(単位は秒、分、時間のどれか)間隔で統計情報を表 示します。INTERVALを省略した場合は1s(1秒)を指定したと扱 われます。単位を省略した場合は秒として扱われます。 既定値はありません。(定期的に統計情報を表示しません。) |
|||||||||
SMTPサーバからのレスポンスを待つ時間を指定します。
既定値は60秒です。 |
以下の例では、milter-performance-checkはlocalhostの25番ポート で動いているSMTPサーバに接続し、100通のメールを送ります。それ ぞれのメールの差出人はfrom@example.comで、宛先は webmaster@localhostとinfo@localhostです。
% milter-performance-check --recipient=webmaster@localhost --recipient=info@localhost
以下の例では、milter-performance-checkは192.168.1.29の25番ポー トで動いているSMTPサーバに接続し、/tmp/test-mails/以下にある ファイルをメールとして送信します。ファイルはRFC 2822のメール フォーマットでなければいけません。各メールは3秒毎(60 * 10 / 100)にuser@localhost宛に送られます。--n-mails=1オプションが 指定されているので、それぞれのメールは1通のみ送られます。
% milter-performance-check --n-mails=1 --smtp-server=192.168.1.102 --force-recipient=user@localhost --period=5m /tmp/test-mails/