milter-performance-check - MTA performance check program
milter-performance-check [option ...]
milter-performance-check is a SMTP client that measures MTA performance.
milter-test-server measures milter's performance and miter-performance-check
measures MTA + milter's performance.
smtp-source bundled with Postfix is a similar tool. smtp-source
has more features.
milter-performance-check is useful because it measures elapsed
time of only SMTP sessions. smtp-source doesn't provide the feature. You
need to also use 'time' command and measure smtp-source command runtime not
elapsed time of SMTP sessions.
Normally, there isn't big difference between elapsed time of SMTP
sessions and tool runtime.
If you satisfy milter-performance-check's features, it's better
that you use milter-performance-check. If you don't, smtp-source is more
better tool for you.
-
--help
- Shows available options and exits.
-
--smtp-server=SERVER
- Uses SEVER as target SMTP server.
The default is localhost.
-
--smtp-port=PORT
- Uses PORT as SMTP port.
The default is 25.
-
--connect-host=HOST
- Specifies connected SMTP client host.
This uses NAME of Postfix's XCLIENT SMTP
extension.smtpd_authorized_xclient_hostsshould be configured
appropriately.
-
--connect-address=ADDRESS
- Specifies connected SMTP client address.
This uses ADDR of Postfix's XCLIENT SMTP
extension.smtpd_authorized_xclient_hostsshould be configured
appropriately.
-
--helo-fqdn=FQDN
- Uses FQDN as HELO SMTP command.
The default localhost.localdomain.
-
--starttls=HOW
- Since 1.6.9.
Specifies whether STARTTLS is used or not. Here are available
HOW
values:
-
auto
- It uses STARTTLS when MTA supports STARTTLS. (default)
-
always
- It always uses STARTTLS.
-
disable
- It never use STARTTLS.
The default is auto
-
--auth-user=USER
- Since 1.6.9.
Uses USER
as SMTP Authentication user.
The default is none.
-
--auth-password=PASSWORD
- Since 1.6.9.
Uses PASSWORD
as SMTP Authentication password.
The default is none.
-
--auth-mechanism=MECHANISM
- Since 1.6.9.
Uses MECHANISM
as SMTP Authentication mechanism. Here are available MECHANISM
values:
-
auto
- It uses a detected available mechanism by MTA. (default)
-
plain
- It always uses PLAIN.
-
login
- It always uses LOGIN.
-
cram_md5
-
or cram-md5 It always uses CRAM-MD5.
The default is auto
-
--auth-map=FILE
- Since 1.6.9.
Loads SMTP Authentication configurations for MTA address and
port number pairs from FILE
Here is FILE
format that is also used by Postfix's smtp_sasl_password_maps:
SERVER1:PORT USER1:PASSWORD1
SERVER2:PORT USER2:PASSWORD2
...
Here is an example configuration that "send-user"
user and "secret" password account is used for
"smtp.example.com" address and "submission port"
(587 port) MTA:
smtp.example.com:587 send-user:secret
The default is none.
-
--from=FROM
- Uses FROM as MAIL SMTP command.
The default from@example.com.
-
--force-from=FROM
- Uses FROM as MAIL SMTP command even if mail file includes
"From:" header.
The default is none.
-
--recipient=RECIPIENT
- Uses RECIPIENT as RCPT SMTP command. If you want to use multiple
recipients, use --recipient n-times.
The default is [to@example.com].
-
--force-recipient=RECIPIENT
- Uses RECIPIENT as RCPT SMTP command even if mail file includes 'To:'
header. If you want to use multiple recipients, use --recipient n-times.
The default is none.
-
--n-mails=N
- Sends N mails. Some mails are sent concurrently. Maximum concurrency can
be specified by --n-concurrent-connections
The default is 100.
-
--n-additional-lines=N
- Adds N lines into mail body.
The default is none. (Doesn't add.)
-
--n-concurrent-connections=N
- Sends mails with N connections concurrently.
The default is 10.
-
--period=PERIOD
- Sends mails in PERIOD seconds/minutes/hours. Each mail is sent averagely.
PERIOD is treated as seconds when its unit is omitted.
Example (100 mails are sent):
- • --period=5 # sends mails at intervals of 0.05 seconds (5 /
100)
- • --period=50s # sends mails at intervals of 0.5 seconds (50
/ 100)
- • --period=10m # sends mails at intervals of 6 seconds (60 *
10 / 100)
- • --period=0.5h # sends mails at intervals of 18 seconds (60
* 60 * 0.5 / 100)
The default is none.
-
--interval=INTERVAL
- Sends mails at intervals of INTERVAL seconds/minutes/hours. INTERVAL is
treated as seconds when its unit is omitted.
Example:
- • --interval=5 # sends mails at intervals of 5 seconds
- • --interval=0.5s # sends mails at intervals of 0.5
seconds
- • --interval=10m # sends mails at intervals of 10
minutes
- • --interval=0.5h # sends mails at intervals of 0.5 hours
The default is none.
-
--flood[=PERIOD]
- Sends flood of mails in PERIOD seconds/minutes/hours. If PERIOD is
omitted, floods mails endlessly. PERIOD is treated as seconds when its
unit is omitted.
The default is none.
-
--shuffle, --no-shuffle
- Shuffles target mails before sending.
The default is false. (don't shuffle.)
-
--report-failure-responses, --no-report-failure-responses
- Reports failure messages from SMTP server at the last.
The default is false. (don't report.)
-
--report-periodically[=INTERVAL]
- Reports statistics at intervals of INTERVAL seconds/minutes/hours. If
INTERVAL is omitted, 1s (1 second) is used. INTERVAL is treated as seconds
when its unit is omitted.
The default is one. (Don't report statistics
periodically.)
-
--reading-timeout=SECONDS
- Specifies timeout on reading a response from a SMTP server. An error is
occurred when the SMTP server doesn't respond to a request in
SECONDS
seconds.
The default is 60 seconds.
In the following example, milter-performance-check connects a SMTP server
running on localhost at 25 port and sends 100 mails. Each mail's sender is
from@example.com and recipients are webmaster@localhost and info@localhost.
% milter-performance-check --recipient=webmaster@localhost --recipient=info@localhost
In the following example, milter-performance-check connects a SMTP
server running on 192.168.1.102 at 25 port and sends files under
/tmp/test-mails/ directory. The files should be RFC 2822 format. The mails
are sent to user@localhost at intervals of 3 seconds (60 * 10 / 100). Each
mail is sent only 1 time because of --n-mails=1 option.
% milter-performance-check --n-mails=1 --smtp-server=192.168.1.102 --force-recipient=user@localhost --period=5m /tmp/test-mails/
milter-performance-check (1)