11

簡単に言うと、データが 2 つのサーバー間でインターネット経由で流れることを目的としたアプリケーションがあります。理想的には、どの時点でソフトウェアが機能しなくなるかをテストしたいと考えています。ソフトウェアの信頼性をテストするために動作を停止する下限 (帯域幅、遅延、ドロップされたパケット)。

私がやろうと思ったのは次のことです。

  1. 3 台のマシン (VMware インスタンス) をセットアップする
  2. 2 つのアプリケーションを 2 つのサーバーにインストールします。
  3. Windows 2003 のルーティングとリモート アクセスで何らかの魔法をかけて、2 台のマシンの間に配置するように 3 台目のサーバーをセットアップします。
  4. 帯域幅を制限するには、Traffic Shaper XPまたはNetLimiterのいずれかをインストールします
  5. TMnetSim Network Simulatorなどを実行して、接続不良をシミュレートします。

これは良いアイデアのように聞こえますか?それとも、これを行うためのより簡単な/より良い方法はありますか? 私は Linux にあまり慣れていませんし、チーム メイトもそうではありません。

4

6 に答える 6

9

WANemはまさにこれを行います。デスクトップ上の仮想マシンと専用の古いPCの両方で使用しており、うまく機能しました。あらゆる種類の壊れた接続をシミュレートできます。

于 2009-05-06T05:53:51.950 に答える
3

FreeBSDs ipfwには、特定の帯域幅、遅延、またはエラー率のリンクをシミュレートするためのプロビジョニングがあります。上記の設定では、そのFreeBSDマシンを「真ん中」のマシンとして使用できます。

関係するサーバーの数を減らしたい場合は、同じマシンで少なくとも1つのエンドポイントを実行することもできます。

于 2008-10-08T11:49:08.377 に答える
2

Linux について少し学ぶときが来たのかもしれません。なぜなら、すべての発信パケットに 50 ミリ秒の遅延を追加するには、1 行入力するだけで実行できるからです。

tc qdisc add dev eth0 root netem delay 50ms

詳細については、Linux Traffic Control HOWTOを参照してください。

于 2010-11-10T01:11:55.383 に答える
2

誰かがこの問題に対する FreeBSD の解決策に必要な設定や不要なものを実際にパッケージ化し、それをDUMMYNETと呼んでいます。

キューと帯域幅の制限、遅延、パケット損失、およびマルチパス効果をシミュレート/適用します。また、WF2Q+ と呼ばれる Weighted Fair Queueing のバリアントも実装しています。ユーザーのワークステーション、またはルーターやブリッジとして機能する FreeBSD マシンで使用できます。

必要なものを正確にシミュレートでき、無料で、市販のハードウェアで起動します。そのリンクからダウンロードできるフロッピー ディスク (!) に入れるのに十分小さいインストール済みのパッケージもあります。

于 2008-10-08T22:53:03.170 に答える
1

約10年前にも同様の要件がありましたが、それをどのように管理したかを思い出せるかどうかを確認します。

私が覚えているなら、UNIXボックスでinetdによって制御されるソケットプロキシプログラムを作成しました。このソケットは、クライアントからの接続を受け入れ、サーバーまでの同等のセッションを開きます。次にループし、メッセージを両方向に渡します。

WAN特性を実現する方法は、接続の確立と、リンクがアップした後のデータの受け渡しの両方にランダムな遅延(上限と下限を含む)を導入することでした。

また、WANリンクはローカルトラフィックよりも信頼性が低いため、リンクをときどきドロップする機能もありました。

遅延がリンクのリバーストラフィックに影響を与えるのを防ぐために、スレッド化する必要があったことを思い出します。

于 2008-10-08T11:52:49.727 に答える