私は多くの同様の質問がすでに聞かれていることを知っていますが、これまでのところ、私の問題の解決策を見つけていません。
ウェブサイトの読み込み時間の増減を測定するためにウェブサイトの速度のテストに使用する仮想Linuxサーバー(Debian Squeezeを実行)があります。私は、このサーバーの帯域幅と待ち時間を制限して、Webサイトの実際のロード時間に近づけることを試みていますが、これまでのところ失敗しています。
特に欲しいのは次のとおりです。
- 着信および発信のレイテンシを50ミリ秒に設定します。
- 512 kbpsの着信帯域幅制限を設定します。
- 4096 kbpsの発信帯域幅制限を設定します。
私はnetemを読んでtc
コマンドを使用していますが、それでもまだ頭に残っています。私はこのコマンドをまとめてうまくいくように見えるレイテンシを制御することができましたが、それが発信レイテンシだけを処理するのか、それとも両方を処理するのかさえわかりません:
tc qdisc add dev eth0 root netem delay 50ms
その周りのネットワークの達人は私を助けることができますか?
編集:
さらなる調査の後、私は目標の半分に到達しました。このコマンドを使用すると、すべての発信トラフィックが希望どおりに動作します。
tc qdisc add dev eth0 root tbf rate 4.0mbit latency 50ms burst 50kb mtu 10000
ただし、着信トラフィックを適切に調整することができませんでした。「イングレスポリサーフィルター」を使用することになっていることを学びました。以下のコマンドを使用して、異なる値で遊んでみましたが、運はありませんでした。
tc qdisc add dev eth0 ingress
tc filter add dev eth0 parent ffff: protocol ip u32 match ip src 0.0.0.0/0 flowid :1 police rate 1.0mbit mtu 10000 burst 10k drop
帯域幅はコマンドの影響を受けますが、上記の値は速度を2MB / sから開始し、転送が進むにつれて、約30秒の転送後に到達する約80-90kB / sにゆっくりと低下します。
私が間違っていることに関するアイデアはありますか?
netem delay 50ms
レイテンシを制限しません。50ms
そうでない場合に比べて、レイテンシーが増加します。