- PR -

sendmailの負荷テストに関して

投稿者投稿内容
TERU
常連さん
会議室デビュー日: 2004/07/27
投稿数: 39
投稿日時: 2004-11-19 15:41
みなさまお世話になります。

下記のような設定を施して実際に設定が
有効になっているのかを確認したいのですが
なにかよいツールもしくはスクリプトなどが
あったらお伺いできますでしょうか。

MAX_DAEMON_CHILDREN='1000'
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2004-11-20 00:20
1000個の同時接続、とゆーことでしょうか。
ツールとかは思いつかないので、私なら自分でプログラムを書きます。

ループを回してソケットを1000個生成して、接続して、HELO コマンドを
打って、応答コード250が返ってくるのをチェックする、といった
ところでしょうか。 システムプログラミング的な要素は薄いので、
あまり難しくないと思います。

その接続数で「ちゃんと」使えるか、とか、パフォーマンスはどうだ、
とかいう話になるともう少しやり方を考える必要がありますが。

[ メッセージ編集済み 編集者: ぽんす 編集日時 2004-11-20 00:23 ]
altezza
会議室デビュー日: 2002/09/17
投稿数: 16
投稿日時: 2004-11-22 14:00
引用:

TERUさんの書き込み (2004-11-19 15:41) より:
なにかよいツールもしくはスクリプトなどが
あったらお伺いできますでしょうか。

MAX_DAEMON_CHILDREN='1000'



mozilla.orgのmstone性能測定ツールなんかはどうでしょうか?
MAX_DAEMON_CHILDREN='1000'というと相当な負荷になります。
それなりの台数のクライアントを準備しないと、これだけの負荷を与えるのは
難しそうです。ハードだけでなく、OSパラメータをチューニングしておかないと、
あっというまにfd不足になりそう・・・
TERU
常連さん
会議室デビュー日: 2004/07/27
投稿数: 39
投稿日時: 2004-11-22 14:47
ご回答有難う御座います。
検証してみます。
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2004-11-22 15:37
う〜ん、一般的なストレステストのツールだと、その設定が有効になって
いるかどうか(意図した通りに動作しているか)というのを見極めるのは
やりづらい気がするです。
mstone だと出来るのかどうか、知らないんですが。

引用:

altezzaさんの書き込み (2004-11-22 14:00) より:
それなりの台数のクライアントを準備しないと、これだけの負荷を与えるのは
難しそうです。ハードだけでなく、OSパラメータをチューニングしておかないと、
あっというまにfd不足になりそう・・・


クライアント側のパフォーマンスとしても厳しいですね。
ファイルディスクリプタがデフォルト設定でいけるかどうかは
ビミョーなところで。
altezza
会議室デビュー日: 2002/09/17
投稿数: 16
投稿日時: 2004-11-22 16:19
mstoneは多重度を設定できるのですが、最新のノートPCでも100多重の負荷を
掛けられたかどうか・・・といった所だったような。
単純計算でも10台以上のクライアントが要りそうですね。

引用:

クライアント側のパフォーマンスとしても厳しいですね。
ファイルディスクリプタがデフォルト設定でいけるかどうかは
ビミョーなところで。



デフォルトだと、ちょっとした負荷試験でfd資源が枯渇します。
MAX_DAEMON_CHILDREN='1000' というのは、けっこうとんでもない値なのですが、
一体どんなサーバを使ってるんでしょう。
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2004-11-22 20:00
ふつうのメール送信は一瞬で終わりますから、なかなかサーバ側の
子プロセスは増えないですね。IMAP みたいにダラダラ続くものだと
1000とか10000とか、すぐ行きますが。 SMTP で1000プロセスというと、
秒間何千通もさばいちゃうようなサーバでしょうか。
altezza
会議室デビュー日: 2002/09/17
投稿数: 16
投稿日時: 2004-11-22 20:30
引用:

ふつうのメール送信は一瞬で終わりますから、なかなかサーバ側の
子プロセスは増えないですね。IMAP みたいにダラダラ続くものだと
1000とか10000とか、すぐ行きますが。 SMTP で1000プロセスというと、
秒間何千通もさばいちゃうようなサーバでしょうか。



sendmailのキュー処理では、障害が起きてもメールを失わないようにするために、
メールを物理的にディスクに書き込むようにしています。

普通はOSのキャッシュとかで誤魔化されてるけど、ディスクの裸の性能なんて
大したことないですよね・・・
なので、負荷を掛けてやるとキューのI/O処理が追いつかなくなって
あっという間に子プロセスが増えていきます。
キューに高性能なストレージを使うだとか、安全性を犠牲にするだとかしないと、
なかなか性能は出ません。

スキルアップ/キャリアアップ(JOB@IT)