9

サイトのユーザー向けにカスタマイズされた Flash/HTML5 ビデオ プレーヤーを使用しています。私は現在、帯域幅が「最適ではない」ユーザーのエクスペリエンスを具体化しています。基本的には、過剰なバッファリングによるユーザー エクスペリエンスの低下をクライアント側のコードで検出できるようにしたいと考えています。この「低帯域幅」処理コードをローカル開発環境でテストしたいと思います。

テスト目的でローカル環境で「不十分な帯域幅」をシミュレートするための優れた手法を知っている人はいますか?

より具体的には、uWSGI、nginx、および python/django のインスタンスを含む仮想マシンにローカル ブラウザーを接続しており、これらのシステムからのコンテンツの配信に任意の量の遅延を挿入できるようにしたいと考えています。(私は主に、ビデオコンテンツの配信/ストリーミングを行うnginxでこれを行うことに関心があります).

編集: 開発環境が Mac OS X であることが関連している可能性があります。

4

4 に答える 4

18

nginx の設定を使用するだけです。

OS X Lion のネットワーク リンク コンディショナーは期待どおりに動作しますが、Web アプリの動作のサブセット (つまり、遅いビデオ バッファリング処理システム) を実際にテストしようとしているときに使用するのはまだ面倒です。

nginx.confそのため、ファイルにレート制限を設定する方がはるかに便利であることがわかりました。たとえば、次のようになります。

location ~ /files/(.*\.(mp4|m4v|mov))$ {
    ...
    limit_rate 50k;  #  <-- Limit download rate per connection to 50kbps
    ...
}

編集: nginx HttpCoreModule docsを参照してください。

于 2012-06-11T19:20:11.537 に答える
9

FreeBSD は Mac OS の祖先であるため、組み込みの強力なファイアウォールipfwを使用できます。低帯域幅のシミュレーションなど、さまざまなケースで使用できます。独自の IP アドレス ループバック (127.0.0.1) またはリモート サーバー (この場合は 8.8.8.8) を使用します。

私たちはビデオ インタビュー Web アプリケーションを行っているので、接続不良のシミュレーションの経験を共有したいと思います。以下の例を参照してください。

$ sudo su

$ ipfw show
$ ipfw pipe 1 config delay 600ms bw 256kbit/s
$ ipfw add pipe 1 dst-ip 8.8.8.8 dst-port 80

$ ipfw flush

ipfwパイプを使用すると、 delaybw、さらにはprobを使用してパケット損失をシミュレートし、低速で不安定な接続をシミュレートできます。

于 2012-06-13T02:53:50.853 に答える
5

Mac OS X Network Link Conditionerを見つけましたが、それが動作するかどうかはまだわかりませんloopback

編集:これはループバックで機能するように見えるので、私の問題を解決するようです! OS X 10.7 を使用している場合は、おそらくこれが最適な方法です。

于 2012-06-11T17:54:21.637 に答える
1

このプログラムNetLimiterを使用して、「不十分な帯域幅」をシミュレートしています。無料ではありませんが、うまく機能する試用版があります。Windows専用です:(

于 2012-06-11T17:51:20.693 に答える