Chris Robertson wrote:
Anthony DeMatteis wrote:
Hi group,

Has anyone played with limiting bandwidth via squid?  I currently have
three bandwidth managers between my border router and customer base.
These servers limit traffic based on service customer has selected
(1.5M/768k, etc).   There are a number of issues with this solution;
interface loads, load balancing, etc.  I have implemented a single squid
server using wccpv2.  While I see this as being beneficial to reduce
traffic on my routers upstream interfaces, I don't see it positively
affecting the traffic on my bandwidth managers.  Traffic will still be
passing through these interfaces.  In fact, I will have additional
traffic as port 80 traffic is diverted to the caching server(s).  As I
understand wccp, it will load balance between the cache engines that are
visible to it.  And I'm trying to understand squid pools.  I'm thinking
I may be able to set up several squid servers using pools to load
balance and limit my traffic.  Conceptually I envision this:

Upstream Provider
| |
| |
Router (wccpv2 - GRE Tunnels to each Caching Server
| |
| |
| |
Switch <-Backbone-> Network/Customer Base
| | | |
| | |  - Cache1
| | |- Cache2
| |- Cache3
|- Cache4

Cache Servers would keep a replicated database of customer bandwidth
limits for use by local squid process.  Am I reaching here, or is this
within the realm of possibility?

Currently delay pool information is not shared between servers, or even between restarts of a single server. But using a source hash algorithm on the load balancer would get you in the ball park.

Any feedback is welcomed.  Thank you.

Tony DeMatteis

Chris

You may want to consider an architecture using both delay pools and QoS.
So squid performs the front-line bandwidth management for HTTP and marks it's outbound packets so the other managers can be less lenient or routed around. The squid are effectively stateless as mentioned b Chris though.

The QoS settings in Squid are tcp_outgoing_tos (ACL-controlled marks) and more recently either zph_* (2.7) or qos_flows (3.1) for HIT/MISS/peer marked traffic.

Amos
--
Please be using
  Current Stable Squid 2.7.STABLE6 or 3.0.STABLE13
  Current Beta Squid 3.1.0.5

Reply via email to