Re: [squid-users] Limiting user's bandwidth

From: J Webster <webster_jack_at_hotmail.com>
Date: Tue, 26 Oct 2010 23:31:16 +0200

Will that share the bandwidth pro rata?
Say the bandwidth is 10Mbps and you have 10 users, they only get 1 each?
Otherwise isn't it shared equally anyway?
There must be a way to apply a kbps limit in case someone is hogging the
bandwidth?

--------------------------------------------------
From: "Andrew Beverley" <andy_at_andybev.com>
Sent: Tuesday, October 26, 2010 11:24 PM
To: "Landy Landy" <landysaccount_at_yahoo.com>
Cc: "Squid-Users" <squid-users_at_squid-cache.org>
Subject: Re: [squid-users] Limiting user's bandwidth

>> Thanks Andy for your reply and taking your time to help like always.
>>
>
> No problem at all.
>
>> > > $tc class add dev eth0 parent 1:0 classid 1:1
>> > htb rate 900kbit ceil 945kbit
>>
>> As I understand, correct me if I'm wrong, this rule is telling the
>> kernel how much bw we want to use globally or how big is the entire
>> bucket.
>
> Yes, but the two are the same, so I would just keep these two parameters
> as the same figure. This is the maximum amount of bandwidth that the
> whole class can use.
>
>> I know the amount of the leafs don't add up to the root's bw but, not
>> all clients are connected at the same time.
>
> That's the beauty of HTB. Set your leaf rates to be the maximum amount
> you would want them to ever have, if they did happen to all be connected
> at the same time. Set the maximum to be the maximum that they should
> ever have if it was possible. The prio parameter will then share the
> excess bandwidth accordingly, should there be any available.
>
>> I don't know if this is
>> the problem or not but, I have similar rules for the LAN interface
>> which works pretty well.
>
> I don't know, but in accordance with the above, there is no reason to
> not have them all add up.
>
>> The weird thing is if I don't use squid caching and just use normal
>> FORWARD chain along with these tc script the upload and download
>> throtle works fine.
>
> Ah, well the difference is that you are using INPUT/OUTPUT chains with
> Squid, not FORWARD, so that will be the difference.
>
> Are you just trying to share bandwidth fairly between users? If so, your
> best bet is to change to one leaf for all your clients, but attach a
> filter to it that will share bandwidth *by IP address* (see below) - the
> default is to share by connection. If you want an overall limit you can
> apply that to the one leaf, and then everybody within it will get their
> fair share within.
>
> If you want people who are downloading/uploading large amounts to get a
> reduced share, then set up an iptables rule to set a MARK based on the
> amount of date transferred in that connection. There's a good example at
> the following web page, although it's currently a work in progress:
>
> http://www.andybev.com/index.php/Fair_traffic_shaping_an_ADSL_line_for_a_local_network_using_Linux
>
> Andy
>
>
>
Received on Tue Oct 26 2010 - 21:32:06 MDT

This archive was generated by hypermail 2.2.0 : Wed Oct 27 2010 - 12:00:05 MDT