title_parttitle_parttitle_part
静岡県浜松市であれこれソフトを開発している A.K.I Software のブログです。日々の開発日記やサーバー・セキュリティ関連の話題なども掲載。
<< 2024/04 >>123456789101112131415161718192021222324252627282930
《《《 ネットワーク機器の購入は Amazon で! 》》》
Powered by BLOM MTA 改善計画
小さくも大きくも閉じたりもしません
09/12/19 13:19 / PMailServer2

MTA の配信速度の向上を求めるご意見がありましたので、まず現状の速度を計測してみました。

環境は以下の通り。

MTA1
WindowsXP Pro SP3 + Windows Update
CPU : Intel Core2Quad Q8400 2.66GHz
Memory : 4G
HDD : SATA 160G

MTA2
Windows 2000 Server SP4 + Windows Update
CPU : Intel Core2Duo E7300 2.66GHz
Memory : 4G
HDD : SATA 80G

テストは MTA1 上にある送信プログラムよりSMTP経由で直列送信(接続>送信>切断>接続>送信>切断を繰り返し)して MTA1 上の PMail Server より MTA2 上の PMail Server へ配信を行います。
配送先のアドレスは1つです。
MTA1 と MTA2 の間は同一セグメントの 100BASE Ether で接続しています。NIC は Athros (ASUSのオンボード)の微妙な奴です(^-^;

MTA2は最初仮想サーバーで行おうと思いましたが、より現実的な環境をと言うことで、akisoftware.com のサーバーそのものを利用しています。
嗚呼、何卒トラブルが出ませんように・・・

まず対象を Version 1.81 Pro に変更して計測。

並列数 : 30
1通辺りのメールサイズ : 21,377byte
送信総数 : 50,000通
かかった時間 : 7,816秒
1時間辺り約 23,029通という結果になりました。
1日だと 552,712通ですね。

まぁ・・・早くは無いです(^-^;
普通に使う分にはまったく問題無いですが。

そこで MTA 処理回りを見直して色々やってみました。
キュー処理などの作り直しも検討したのですが、オールインワンタイプのサーバーですので、MTAのみに特化しギリギリまでチューンした場合、他の SMTP や POP3 に影響が出かねません。
ひとまずメモリ回りや I/O 回りの最適化や、キュー処理での確認方法の若干の変更などを行いました。

その結果(送信数を 10,000通に減らしました。さすがに1回のテストで3時間はキツイので心が折れました)

並列数 : 30
1通辺りのメールサイズ : 21,377byte
送信総数 : 10,000通
かかった時間 : 999秒
1時間辺り約 36,036通という結果になりました。
1日だと 864,864通です。

ありゃ?予想外に 56% の高速化になりました。

あとなぜか高速化したのに CPU 負荷が下がりました。
おそらく I/O 回りの最適化による効果です。

photo

これでも全力送信中です。

上記は現実的なサイズ(21KB)で確認を行っていましたが、もっと小さくしたらもっと早くなるはずです。

次は以下のような状況でテストを行いました。

並列数 : 30
1通辺りのメールサイズ : 603byte ←変更
送信総数 : 10,000通
かかった時間 : 957秒
1時間辺り約 37,617通という結果になりました。
1日だと 902,821通です。

あれぇ?殆ど変わりがありません。
いくつかデバッグ出力を行った所、今度はキュー処理が暇になっているようです。
1.81b で MTA の並列数の最大値を 30 から 50 に上げてありましたので、これを変更してみます。

並列数 : 50 ←変更
1通辺りのメールサイズ : 603byte
送信総数 : 10,000通
かかった時間 : 621秒
1時間辺り約 57,971通という結果になりました。
1日だと 1,391,304通です。
1日100万通を超えました。「実験値で」ですが。

まだ CPU に余力がありますので、並列数をもっと増やせば更に早くなりますが、そもそも理論値での話で現実的にはこのような数値は無意味ですから、これ以上は止めておきました。
イントラネットで LAN 内で配信する場合はちょっと意味があるかもしれません。社員が数万人いるような所ならばですが、そもそもそういう所にこういうサーバは入れないでしょう(^-^;

これ以上配信効率を上げるには、高速配信サービスを謳っている所のように、複数のIPアドレスから複数台のサーバーを使って並行×並行の環境を構築する必要が出てきますね。
どちらにしても1台から大量送信したら携帯キャリアなどは確実にブロックしてきますので(契約回線によっては spammer と思われるでしょう)1台での配信速度はこれくらいがいいところじゃないでしょうか。

[更新日付:2009/12/19 14:40:39]
トラックバックを見る(0)
Log Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+sl+487d77bdb6167917a8a7eceb70ef9e079b9bd660]
TB Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+tb+487d77bdb6167917a8a7eceb70ef9e079b9bd660]

記事へのコメント

コメントはありません

名前
コメントキー
 
コメントする時はキーを正確に入力して下さい
コメント
アドレスを含んだコメントはできません
© 2008-10 A.K.I Software all rights reserved.