web-dev-qa-db-ja.com

htb / sfqで最適なパフォーマンスを得るためにtcレートパラメータを調整する方法は?

私はtc/htbを初めて使用し、スクリプトをコピーして貼り付けました...

http://lartc.org/howto/lartc.cookbook.ultimate-tc.html

...オフィスゲートウェイで実行します。その理由は、大量のダウンロード、アップロード、p2p、およびビデオがSSH接続とWebブラウジングを遅くしすぎないようにするためです。ネットワークは次のようになります。

LAN->(eth0)Linuxゲートウェイ(eth1)-> DSLモデム

ゲートウェイは、LANクライアントに対してもNAT)を実行します。

スクリプトの先頭で、アップリンクとダウンリンクの速度(キロビット単位)とデバイスを設定します。私たちのADSLは1.5m DL/256k ULです。したがって、値を次のように設定しました。

DOWNLINK=1000
UPLINK=220
DEV=eth1

私が確かに知っているのは、これらの値がDSLの全帯域幅よりも「やや」小さいはずであるということだけですが、最適な値を計算する方法がわかりません。値が低すぎる場合は、合計スループットを過度に制限し、高すぎる場合は、適切なキューイングを妨げると思います。

私の質問は次のとおりです。レートパラメータの最適値を見つけるために使用するツール、経験則、または計算は何ですか?

1
SpliFF

私は先週、同じスクリプトをベースとして使用してtcを実装しました。

(このアドバイスの一部はそのスクリプトに固有のものです)

手始めに、128の彼のラインアップレートに対して90に設定されていると書かれています。私のアップレートは320で、2.5倍なので、90 * 2.5 = 225から始めました。240または260で終わったと思います。 、しかしそれはかなりうまく機能します。

私がそれを許可しなかったことの1つは、スクリプトが$ DEVに基づいて制限することですが、私のマシンには1つのインターフェイスしかないため、LANトラフィックも制限されていました。これを修正するには、プール26(最も遅い)をデフォルトのキャッチオールクラスとして停止し(Wordの「デフォルト」を削除)、LANサブネットの宛先を持たないアウトバウンドはすべてクラス26にするという最終規則を設定します。

私の場合、ダウンストリームのレート制限行をすべて削除しました。これは、ダウンストリームの大きなものはトレントだけであり、とにかくクライアントアプリケーションで制限されているためです。これにより、スクリプト全体が理解しやすくなり、私のユースケースでもうまく機能します。その上、ウェブページ自体は、あなたが本当に確実にアップロード速度を絞ることができると言っています。

私の場合、帯域幅の75%をアップロードすると、ダウンロード速度がフルスピードの何分の1かに低下し、リモートSSHインなどは使用できなくなります。そのすべてが今修正され、私はそれにかなり満足しています。

お役に立てば幸いです。

編集:ああ、そして私もmtu 1000行を削除しました。私の場合、インターフェイスもギガビットLANトラフィックを伝送するからです。

0
Sirex