conf t

インフラエンジニアのメモ

squidでyoutubeを帯域制限する

squidyoutubeの帯域を128kB/sに制限する。

acl youtube dstdomain .youtube.com .googlevideo.com .ytimg.com
delay_pools 1 #使うプールの数
delay_class 1 1 #プール1のクラスを1に。クラス1は全体の帯域制限
delay_parameters 1 128000/128000 #128kB/sに制限
delay_access 1 allow youtube #acl youtubeに行く際はプール1を使う

これで出来ると思ったのですが、効いていません。
youtubeで使っているドメインが漏れているのか、設定が間違っているのか色々試しましたが、
どうやらhttpsの場合は帯域制限が効いていないようです。
以下でも復号しないとできないと書かれていますので復号する必要があるようです。
Squid WCCP Delay Pools for HTTPS - Linux Forum - Spiceworks

帯域制御がどの程度聞いているか等のログも出力できないみたいなので別のミドルウェア・機器で出来るなら別の個所での実施を検討したほうが良いかもしれません。
httpであれば上記設定で帯域制御が効くことは確認済みです。
その場合、2つのファイルを同時にダウンロードすると、1つあたり64kB/sに制限されましたので、ちゃんと全体で128kB/sに制限されているようでした。
あと、調べてみると1人当たりの帯域も設定できるなど細かく制御できるのは知らなかったです。

youtubeで使われているドメインは以下wikiと実際にyoutubeを見た際のアクセスログで確認しました。
ConfigExamples/Streams/YouTube - Squid Web Proxy Wiki

参考:
http://squid.robata.org/setup_class1_delaypool.html

https://forum.pfsense.org/index.php?topic=74595.0