2009-07-10 8 views
6

私は、RESTサービスを使用してホストからデータを取得するモバイルデバイスにいくつかのコードを書いています。そのRESTサービスはApacheによってプロキシされています。テストモードでは、断続的な障害のアプリケーション処理をテストするために、(デバイスがセル接続を失ったかのように)ネットワーク停止をシミュレートすることができます。また、低速ネットワーク接続で動作を確認する必要があります。Apacheを遅くて信頼性の低い方法にするには?

私は現在Traffic Shaper XPを使用してネットワーク接続を低速化していますが、Apacheサーバが無作為にまたは事前定義されたシーケンスで接続をリセットするようにする必要があります。

+1

CGI経由でPERLスクリプトを実行するようにします。それはそれを遅らせるでしょう。 – skaffman

+0

それはすべてのskaffmanに本当に役立つわけではありません。 – Weegee

+0

金曜日は午後です。私は軽薄だと感じています。 – skaffman

答えて

1

dummynetは最も近いものですが、それでも静かではないようです。反復可能なテストのためには、ドロップされたパケットとリセットをある程度制御するのが良いでしょう。

ジャック

2

あなたのアプリからApacheサーバーにTCP接続を転送し、xバイトまたはミリ秒後に接続を切断するようにテストで設定できる小さなプロキシを作成します。

0

これはUnixまたはLinux環境ですか? nice優先順位を低くして、音楽を聴いたり、映画を再生したり、piを計算したりするようなCPU使用率の高いタスクを実行します。Apacheの優先順位は低いです。

+0

Windows(aaack)環境です。 Linux VMを立ち上げる必要があるかもしれないと思っています。また、私が望むコントロールのレベルを得るために、apacheモジュールを書く必要があるかもしれないと思っています。 –

+0

Windowsでも同じことができるかもしれません。優先度を最低に設定するだけで(もし可能なら)[SuperPI](http://www.xtremesystems.com/superpi/)を実行してください。 – Weegee

0

異なる(または同じ上の)コンピュータ上のApache上でいくつかの負荷を取得するために、コマンドラインツールabを使用しています。その他の情報here

2

Apache2では、apache2.confのプリフォーク設定を調整することで、遅くすることができます。以下の設定は、apacheをかなり遅くする必要があります。彼らは私のローカルウェブアプリケーションをロードするのに700%長くかかるようにしました。

<IfModule mpm_prefork_module> 
    StartServers   2 
    MinSpareServers  2 
    MaxSpareServers  2 
    MaxClients   4 
    MaxRequestsPerChild 0 
</IfModule> 
関連する問題