6

REST サービスを使用してホストからデータを取得するコードをモバイル デバイスで作成しています。その REST サービスは Apache によってプロキシされています。テストモードでは、断続的な障害のアプリケーション処理をテストするために、ネットワークの停止をシミュレートできるようにしたいと考えています (デバイスがセル接続を失ったかのように)。また、ネットワーク接続が遅い場合の動作を検証する必要があります。

現在、Traffic Shaper XP を使用してネットワーク接続を遅くしていますが、Apache サーバーがランダムに、および事前定義されたシーケンス (特定のテスト シナリオをセットアップして繰り返すため) の両方で接続リセットを送信するようにする必要があります。

4

6 に答える 6

3

Apache2 では、apache2.conf の prefork 設定を調整することで遅くすることができます。以下の設定は、apache をかなり遅くするはずです。ローカル Web アプリケーションの読み込み時間が 700% 長くなりました。

<IfModule mpm_prefork_module>
    StartServers          2
    MinSpareServers       2
    MaxSpareServers      2
    MaxClients          4
    MaxRequestsPerChild   0
</IfModule>
于 2012-12-12T18:26:23.620 に答える
2

DummyNetが最も近いもののように見えますが、まだ完全にはありません。繰り返し可能なテストの場合、ドロップされたパケットとリセットをある程度制御できると便利です。

于 2009-07-24T13:09:55.347 に答える
2

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

于 2009-07-10T15:34:58.587 に答える
1

Shopify のhttps://github.com/Shopify/toxiproxyを強くお勧めします。

ダウンロードhttps://github.com/Shopify/toxiproxy/cliとサーバーをリリースします

サーバーを実行します。

 ./toxiproxy-server-linux-amd64

別のポート (例: 8080) の apache への cli セットアップ プロキシで

./toxiproxy-cli create apache -l localhost:8080 -u localhost:80

接続を遅くして信頼性を低くします:

./toxiproxy-cli toxic add apache -t latency -a latency=3000 
./toxiproxy-cli toxic add apache -t limit_data -a bytes=1000 --tox=0.01

ここでは、3 秒のレイテンシーを追加し、リクエストの 1% に対して 1000 バイト後に停止します。帯域幅などの他のオプションがあります。使用中にこれらを追加または削除できます。他にもたくさんの機能とライブラリがあります。

于 2019-08-27T13:30:19.290 に答える
0

別の(または同じ)コンピューターで、コマンドラインツールabを使用してApacheに負荷をかけます。詳細については、こちらをご覧ください。

于 2009-07-24T13:12:20.370 に答える
0

これは Unix または Linux 環境ですか? nice優先度を下げてから、音楽を聴いたり、映画を再生したり、円周率を計算したりするなど、CPU 使用率の高いタスクを実行します。Apache の優先度が低いと、探しているものと同様の問題が発生するはずです。

于 2009-07-10T15:50:05.777 に答える