Xmail パフォーマンス設定

XMail Serverの設定をチューニングメモ。

XMailは、デフォルトだと各種サービスが動作している点は、こちらに書いた通り。そのほか、パフォーマンスチューニングに関する設定もレジストリで可能になっている。比較的決めやすそうな各サービスのスレッド数の設定を列挙。再配信間隔などは、機会があれば試用してみるつもり。


なお、XMailの各種サービス説明は、ロギングページが一番良いと個人的には思っています。

POP3/SMTPサービス

これらはいずれも設定しないと最大スレッド数で動作するもよう。スレッド数を減らしたいときに、レジストリオプションを設定する方向と思われる。

なお、XMail Server上のSMTPサービスは、SMTP接続の待ち受けを受け持つサービスで、メール送信を受け持つのは、後述のSMAILとなる。

#define MAX_POP3_THREADS            1024
#define MAX_SMTP_THREADS            1024

SMAILサービス

設定しないと 16 スレッドで、最大256スレッドまで設定が可能なサービス。レジストリ "-Qn " で設定が出来る。

XMail Server上のSMAILは、SMTP接続によるメール送信時に使われるサービスなので、早く配信を行いたいときに設定するのが有効。

#define STD_SMAIL_THREADS           16
#define MAX_SMAIL_THREADS           256

LMAILサービス

XMail Server上のLMAILは、自身のMBOXへの配信を行うサービスの為、多くの受信があるときには設定するのが有そう(未検証)。レジストリ "-Ln " で設定が出来る。

#define STD_LMAIL_THREADS           3
#define MAX_LMAIL_THREADS           17

確認先

上記の設定は、次のソースファイルから判断。ソースはこちらからダウンロードできます。

  • xmail-1.27\MailSvr.cpp
#define STD_SMAIL_THREADS           16
#define MAX_SMAIL_THREADS           256
#define STD_SMAIL_RETRY_TIMEOUT     480
#define STD_SMAIL_RETRY_INCR_RATIO  16
#define STD_SMAIL_MAX_RETRY         32
#define STD_PSYNC_INTERVAL          120
#define STD_PSYNC_NUM_THREADS       8
#define MAX_PSYNC_NUM_THREADS       32
#define STD_POP3_BADLOGIN_WAIT      5
#define MAX_POP3_THREADS            1024
#define MAX_SMTP_THREADS            1024
#define STD_SMTP_MAX_RCPTS          100
#define MAX_CTRL_THREADS            512
#define STD_LMAIL_THREADS           3
#define MAX_LMAIL_THREADS           17
#define STD_LMAILTHREAD_SLEEP_TIME  2
#define SVR_EXIT_WAIT               480
#define STD_SERVER_SESSION_TIMEOUT  90000
#define MAX_CLIENTS_WAIT            300
#define CTRL_SERVER_SESSION_TIMEOUT 120000
#define SERVER_SLEEP_TIMESLICE      2
#define SHUTDOWN_CHECK_TIME         2
#define STD_POP3AUTH_EXPIRE_TIME    (15 * 60)
#define FILTER_TIMEOUT              90000
#define SVR_MAX_SERVICES            32