プレミアムでもHD画質の動画のロードは遅いので、よく見る動画はプロキシにキャッシュしとけば良くね?
とかいう発想とのりで立ててしまいました。
ちなみにサーバはCentOS5.7+Squid2.6で構築しました。
※訂正※
Squidが2.7系ではなく2.6系でした
キャッシュ容量の推移グラフですが、だんだんキャッシュされるようが少なくなってきている=いつも見るのはキャッシュされている状態になってきていることがわかります。
お陰様で30分の動画も1分の動画も10秒程度で読めるようになりました。とっても快適です。設定方法によってはYoutubeなどの他の動画サイトもキャッシュできるようになりますが、私はいらないのでしてません。
ちなみにこんなスピードで読み込みをします。
実際に再生して比べてみてください。なお、早回しはしておりません。
※お願い※
動画に「履歴から性癖わかったww」のようなコメントをしないようにお願いします。
*********************************
Squid.confの主な設定箇所です。
この他にもログを/dev/null/したり、エラーページ言語を日本語にしたりしています。
そのことについてはぐぐってください。
acl deny_mime dstdomain "/etc/squid/blacklist_mime"
#ニコニコ時報ブロック
acl nicojihou url_regex -i ^http://.*nicovideo\.jp/.+marquee.*
acl nicojihou url_regex -i ^http://.*nicovideo\.jp/.+rotation.*
acl nicojihou url_regex -i ^http://.*nimg\.jp/.+marquee.*
acl nicojihou url_regex -i ^http://ad\.nicovideo\.jp/server/get\?.*
acl nicojihou url_regex -i ^http://api\.nicodic\.jp/.+
#ニコニコ時報ブロック
================================================
# TAG: http_access
#Default:
# http_access deny all
#ニコニコ時報ブロック
http_access deny nicojihou
#ニコニコ時報ブロック
================================================
#キャッシュメモリーは大きめにします。
# TAG: cache_mem (bytes)
#Default:
# cache_mem 8 MB
cache_mem 32 MB
================================================
#メモリー上に置くことができるオブジェクトの最大容量です。あまり大きくしないでください。
# TAG: maximum_object_size_in_memory (bytes)
#Default:
# maximum_object_size_in_memory 8 KB
maximum_object_size_in_memory 2 MB
================================================
#キャッシュを保存するディレクトリと最大容量の指定です。
#必ずパーティションを別に用意して、HDDの容量の90%以下の値にしてください。
#ここでは/var/spool/squid/以下を60GBのパーティションに割り当て、
#50GB(51200MB)までキャッシュする設定です。
# TAG: cache_dir
#Default:
# cache_dir ufs /var/spool/squid 100 16 256
cache_dir ufs /var/spool/squid 51200 16 256
================================================
#キャッシュする最小ファイル容量です。
#こちらの回線は光なので数KBのファイルとかキャッシュする必要はありません。
# TAG: minimum_object_size (bytes)
#Default:
# minimum_object_size 0 KB
minimum_object_size 1 MB
================================================
#キャッシュする最大ファイル容量です。
#今回は動画キャッシュサーバーなので、256MBと大きめにします。
# TAG: maximum_object_size (bytes)
#Default:
# maximum_object_size 4096 KB
maximum_object_size 256 MB
================================================
#結構大事な変更なので、おまじないとしてください。
# TAG: cache
#We recommend you to use the following two lines.
acl QUERY urlpath_regex cgi-bin \?
cache deny deny_mime
## cache deny QUERY
================================================
#ニコニコ動画をキャッシュできるように設定を変更します。
#ココらへんの意味はグーグル先生に聞いてください。
# TAG: refresh_pattern
#Suggested default:
#ここでニコニコのキャッシュを有効にします。
refresh_pattern -i \.(smilevideo|nicovideo)\.jp\/smile 25200 90% 86400 ignore-reload ignore-no-cache ignore-private
#おまじないです。
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
#htmlファイルのキャッシュはできるだけしないようにします。
refresh_pattern -i \.(html|htm|css|js)$ 0 1% 1440
#ニコニコ以外でもメディアファイルはキャッシュさせます。
refresh_pattern -i \.(jpeg|jpg|png|gif)$ 1440 5% 10080
refresh_pattern -i \.(mp4|flv|swf|mpeg|wmv|avi|mkv|mpg)$ 1440 90% 10080
refresh_pattern -i \.(mp3|wmv|aac|m4a)$ 1440 10% 10080
#zipやexeファイルのキャッシュはさせません。
refresh_pattern -i \.(iso|zip|lzh|exe|tar|gz|torrent)$ 0 0% 0
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 5% 4320
-
購入金額
0円
-
購入日
2012年03月22日
-
購入場所
わんこさん
2012/03/22
ソフトの公開はしてないのかな?
自分はnicocacheってソフト使ってます
http://crus.biz/nicocache_nl/
Kitaさん
2012/03/22
Javaのバージョンは 何ですか?
notokenさん
2012/03/22
>自作ですか?
自作ではありません…
大学のネットワーク管理者さんや先輩から色々と聞いて自分で設定しただけです。
Squidのconfファイルを希望ならプライベートなところを消去して載せますが…?
notokenさん
2012/03/22
Javaじゃないです。
yasuさん
2012/03/22
載せてくださいお願いします。
一度やってみたいです。
notokenさん
2012/03/22
Squidのconfファイルをあとで載せておきますね。