4

Squid Server Proxy でのユーザー アクティビティに基づいて、帯域幅とトラフィックを管理したいと考えています。

いくつかの調査を行いましたが、必要な解決策を見つけることができませんでした。

たとえば、トラフィックが 256K を超えるユーザーは、サーバーから制限する必要があります。

手伝って頂けますか?

ありがとう

4

1 に答える 1

4

私はイカ3.xと仮定しています:

条件のリストに基づいて、特定の要求の帯域幅を制限する方法を提供します。

クラス: 遅延プールのクラスは、遅延が適用される方法を決定します。つまり、異なるクライアント IP を個別に扱うか、グループとして扱うか (またはその両方) を決定します。

クラス 1: クラス 1 遅延プールには、プールの対象となるホストからのすべての要求に使用される単一の統合バケットが含まれます。

クラス 2: クラス 2 遅延プールには、8 ビット ネットワーク (IPv4 クラス C) 上の各ホストに 1 つずつ、1 つの統合バケットと 255 バケットが含まれます。

クラス 3: 16 ビット ネットワーク内のサブネット用の 255 のバケットと、これらのネットワーク上のすべてのホスト用の個別のバケットが含まれます (IPv4 クラス B )

クラス 4: クラス 3 と同様ですが、さらに、認証済みユーザーごとのバケット (ユーザーごとに 1 つ) があります。

クラス 5: http_access の external_acl_type ヘルパーによって返されるタグ値に基づくカスタム クラス。使用されるタグ値ごとに 1 つのバケット。

遅延プールを使用すると、さまざまな機能を使用して、クライアントまたはクライアント グループのトラフィックを制限できます。

  • 遅延プールの影響を受けないピア ホストを指定できます。つまり、ローカル ピアリングやその他の「フリー」トラフィック (no-delay peer オプションを使用) の影響を受けません。

  • 遅延動作は ACL によって選択されます (優先度の低いトラフィックと優先度の高いトラフィック、スタッフと学生、または学生と認証された学生など)。

  • ユーザーの各グループには多数のバケットがあり、バケットには 1 秒間に入ってくる量と、増加できる最大量があります。ゼロに達すると、オブジェクトのクライアントの 1 つがある程度のトラフィック許容量になるまで、オブジェクトの読み取りが延期されます。
  • 特定のクラスで任意の数のプールを構成でき、プール内の制限のセットを無効にすることができます。たとえば、ネットワークごとではなく、クラス 3 の集約およびホストごとのバケット グループのみを使用する場合があります。

あなたの場合、次を使用できます:

For a class 4 delay pool:
        delay_pools pool 4
        delay_parameters pool aggregate network individual user

最後の delay_pool は、squid サーバー プロキシで構成できます。

例えば; ログインしているワークステーションの数に関係なく、各ユーザーは 128K ビット/秒に制限されます。

delay_pools 1
delay_class 1 2
delay_access 1 allow  all
delay_parameters 4 32000/32000 8000/8000 600/64000 16000/16000

もっと読んでください:

http://wiki.squid-cache.org/Features/DelayPools

http://www.squid-cache.org/Doc/config/delay_parameters/

于 2014-03-20T03:27:53.503 に答える