メール送受信性能試験の実施方法について
メール送受信の性能検証を実施したい場合で、どのような形で実施するのがいいのか、特に手段や方法などがおわかりにならない場合、メール送受信の性能検証について弊社が行っている方法を紹介いたします。
※ここではSMTP/POP3/IMAP4のプロトコルを実装するE-Post Mail Serverシリーズについて記述しています。SMTPプロトコルのみ実装するE-Post SMTP ServerシリーズについてはPOP3/IMAP4の内容を除外して読み解いてください。
弊社がメールサーバの性能検証をする場合、SMTP/POP3/IMAP4それぞれのプロトコルについて、オリジナルのクライアントツールを使っています。一定サイズのメールデータ、一定数のアカウントを用意しておき、Windowsクライアントマシンから、メールサーバに対して、一定数の回数を繰り返し実行する複数のバッチファイルを同時に動かす方法で試験しています。
性能検証のやり方の基本は、試験を開始してからすべてが完了するまでの総合時間をログでチェック、それを比較検証するといった手法で行っています。具体的なテスト内容についてご興味のある方は、別途サポート担当までお問い合わせください。
ツールは、Windows環境のコマンドベースで動作させるもので、管理者権限でコマンドプロンプトを開け、手入力コマンドで実行する方法か、バッチファイルで試す方法のいずれかで実施します。一定サイズのメールデータ、一定数のアカウントを用意しておいて、それぞれ一定数の回数を繰り返し実行するバッチファイルを動かす方法で試験します。メールサーバ側でログ記録を取得するようにしておき、開始してからすべてが完了するまでの総合時間をログから比較検証するといった手法で実施しています。
SMTP送信テストであれば、アカウントをどのぐらい用意して、どのぐらいの回数繰り返して実行するかとか、内部ドメイン内での送信テストだけなのか、E-Postをもう一台立てて、「みなし外部ドメイン」への配送テストも行うのかなど、どのような指標でどのように比較検証するかは、組み合わせを考えるだけでも相当数にのぼります。また、メール送受信テストということであれば、SMTP配送テストと、POP3受信またはIMAP4受信テストを同時に行うという方法になることでしょう。できるだけ使用環境に近い状態を想定して検証されるのがよいと考えます。
具体的に試験内容としては、以下の通り、想定環境や、与える条件によって、かなり変わります。
- 同時に実施するアカウントユーザーをどのぐらいにするか。
- テストに使うメールサイズをどのぐらいにするか。
- テストを繰り返し行うときにはどのぐらいの回数行うか。
- SMTP送信でメールボックスに着信させるメール数を増やしていく場合、どのぐらいから始め、どのぐらいで終わらせるか。
※メールボックスフォルダに置くファイル数が1000を越え万単位になると、ファイルシステムの問題があり、パフォーマンスが極端に低下します。
再度繰り返し試験を行う場合は、メールボックスフォルダをクリアし、何個から始まり、何個までで着信が終わるといったような管理された手法の試験が必要です。
- POP3受信する場合、既にメールボックスに着信しているメール数をどこから始めるのか。読んだメールをサーバから削除するかあるいはサーバに残すのか。
- IMAP4受信する場合、既にメールボックスに着信しているメール数をどこから始めるのか。既読/未読の比率をどのようにしてスタートさせるか。
※たとえば「既読0/未読1000」でいきなり始めるのと、「既読500/未読500」で始めるのは大きな差があることがわかっています。これはIMAP4のメールボックスフォルダが、最初に着信するメールボックスフォルダの位置(これはPOP3用の位置と同じ)より深い階層にあることで、ファイルの移動処理に大きな負担がかかるためです。
メールサーバの負荷については、システム的に見れば、CPU負荷や、メモリ消費量、スレッド数の増減変化といったことになるかと思いますが、メールサーバの側面から負荷状況をみるときには、開始時間から終了時間にいたるまでの「総合時間」ということになります。その総合時間を上記のメール数やユーザーアカウント数でわり算すれば、1メールあたりにかかる平均処理時間は算出できます。
ちなみに、IMAP4使用時には注意点があります。メールボックスの1フォルダ内に置くメールデータの数を極端に多くせず、常に1000を越えない程度に管理すること、たとえば、サブフォルダへの振り分けなどの管理を心がける必要があります。
以下のログのうち、時間に関する情報は基本ログで参照できます。※マークが付いているのは詳細ログで、処理の詳細内容を把握したいなどの用途があれば必要ですが、処理時間を見るだけなら基本ログで判読できます。
- SMTP受領→inlog、acceptlog、receivelog(※)
- SMTP配送→outlog、outlocallog、senderlog(※)
- POP3受信→pop3log、receivepop3(※)
- IMAP4受信→imap4log、receiveimap4(※)
(関連FAQ)
●SMTP受信詳細ログ(receivelog)について
●SMTPローカル送信ログ(outlocallog)について
●SMTPサービスのマルチセッションやマルチスレッドの動作を検証試験したいときの考え方
メール送受信性能試験についてこれならばベストというものは、なかなかありません。何より、エンドユーザーの使用環境、条件、運用形態にできるだけ近づけて試験をしてみるということが大事なことだと考えます。