2011-12-23 13 views
3

私は、単純な(っぽい)Webアプリケーションのベンチマークの設定があります。TCP接続をデバッグする方法は拒否されましたか?

LoadGenerator - 私は数千テストユーザー...予想通りevertything作品で私のベンチマークを実行すると> WebAppの

- > Apacheの。

しかし、私は約14kにテストユーザーの数を増やすと...私のApacheサーバーは、私のLoadGeneratorへの接続接続を拒否し始めます。 CPU使用率はどこにもありません。ApacheからWebAppへの接続が切断されているようです。

Apacheサーバでリソースが不足していると思いますが、何も言えません。私はそれが港になるかもしれないと思った...しかし、私の結びつきは、私が信じるほど十分に高くない。

次は私はtcpdump情報を見てみました...しかし、私は本当に興味深いanyhtingを見ていません。正直言って、私はちょうどWiresharkでダンプを開き、大きな赤い傷跡を探しました。

カーネルにエラーメッセージを出力して、何が起こっているのかがわかるような方法がありますか?完璧な世界では、「ERROR:接続数にXが足りません」というエラーメッセージが表示されます。

私のLoadGeneratorが痛みを打つことを拒否し続ける理由を知りたい場合は、他のヒントをお勧めしますか?

答えて

0

あなたはなどmod_statusモジュールを有効にして使用されているどのように多くの労働者が見えた

0

GoogleのTIME_WAIT ' - あなたはおそらく、利用可能なソケットが不足しています。

+0

最初は、私は数十TIME_WAITSの何千ものが、その後、私はキープアライブオン...と、ほとんどすべての私のTIME_WAITSは去っていきました。今私は7Kまたは8KのESTABLISHED接続を持っています....しかし問題は解決しません。だからそれはそれだった。 –

0

あなたは、リソースの外に考えているなら、これはあなたのプロセスのリソース制限を表示します

ulimit -a 

を試してみてください。 出力を使用すると、開いているファイルをチェックし、ここで

core file size (blocks) 1000000 
    data seg size (kbytes) unlimited 
    file size (blocks)   unlimited 
    max memory size (kbytes) unlimited 
    stack size (kbytes)   8192 
    cpu time (seconds)   unlimited 
    max user processes   unlimited (1) 
    pipe size (512 bytes)   8 
    open files     1024 
    virtual memory (kbytes) 2105343 

以下のようなものです。 fd(ソケット、パイプ、ファイルなどを含む)の制限を記述することで、Linuxで開くことができます。

あなたは同じ問題を抱えていることを確認してください

-n ulimitのことで、これを変更することができます。さもなければこれは有用ではない。

ulimitを参照:http://ss64.com/bash/ulimit.html

+0

私はulimitをチェックしましたが、それは私の最初の容疑者だったので、主に私の開いているファイル記述子の制限を見てください。私は下にいた。私はそれが何らかの難解なtcpパラメータかもしれないという気持ちを抱いています.... 1秒あたり400以上の接続をチューニングする必要があるかもしれません。 –

関連する問題