ただいまSerioWareをインストールちゅ

このエントリーをはてなブックマークに追加
182窓際趣味の人
【squid】 2.4.STABLE2 設定の巻 その1

( ´D`)ノ< キャッシュを有効に使うためには、溜め込んでいるキャッシュがまだ新鮮
        だから、取りに行く必要はないよ、と教えてあげる必要があるのれす。
        それをコントロールするのがrefresh_patternなのれすが、この説明が
        日本語のまともな文書がなかったので、理解するまで時間がかかったのれす。
        だから、ここにそれを書き留めておくのれす。

        デフォルトでは次のようになっているのれす。

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320

        2列目がプロトコル名を含むファイル名なのれす。上の例ではftpとgopher
        以外は3行目に全て当てはまるのれす。

        3列目から5列目がそれぞれmin、percent、maxになっているのれす。
        それぞれが分、パーセント、分になっているのれす。
        ここで与えた条件とage、lm-factor、expiresと比べて、キャッシュが新しいか
        古くて、取りに行く必要があるか、判断しているのれす。
        で下のが判断式なのれす。

FRESH if expires < now, else STALE
STALE if age > max
FRESH if lm-factor < percent, else STALE
FRESH if age < min
else STALE

        ageとはファイルをキャッシュしてから現在までの時間で、lm_ageがサーバ上
        での最終更新時刻からキャッシュするまでの時間とすると、ageをlm_ageで
        割ったのがlm-factorになるのれす。

更新時 取得時  現在
|←lm_age→|←age→|

lm-factor=age/lm_age
183窓際趣味の人:01/09/24 21:25 ID:Xp5huDvY
squid】 2.4.STABLE2 設定の巻 その2

( ´D`)ノ< でまずageがmaxを越えていたら古いということで取りに行くのれす。
        たとえばデフォルトの3行目ではキャッシュしてから4320分つまり3日以上
        経ったファイルは無条件に取りに行くことになるのれす。

        次にlm_factorとpercentが比べられるのれす。デフォルトでは20%なので
        たとえば最終更新から1日経ってから取得したファイルであれば、その20%
        つまり4.8時間過ぎたら古いと判断されるのれす。
        この条件はmimやmaxのように決め打ちしていないので、頻繁に更新される
        ニュースサイトと、あまり更新されないサイトとどちらでも有効な条件判断に
        になるのれす。

        最後にageとminを比べて、まだageがminで設定した時間に達していなければ
        まだ新しいと判断されるのれす。しかし、デフォルトでは0となっているので
        ここでは常に古いと判断されてしまうのれす。

        最初のexpiresはサーバが返すファイルの有効期限が区切ってある場合
        の設定なのれす。期限切れだと古いと判断されるのれす。

        つまりキャッシュのヒット率を増やしたければ、minの値を大きく、percentも
        大きくして、maxもなるべく大きくするようにすればいいのれす。

        この他にオプションが4つあるのれす。

        override-expireは有効期限の条件判断を強制的にminの判断にしてしまう。
        override-lastmodは最終更新の判断を強制的にminの判断にしてしまう。
        reload-into-imsはno-cacheとreloadの命令をIf-Modified-Sinceの
        リクエストに変えてしまうもの。つまり無いのに、あるかのように装って差分だけ
        送れと言うわけなのれす。
        ignore-reloadはno-cacheやreloadの命令そのものを無視しちゃうもの
        なのれす、たぶん。間違ってたら訂正してちょ。

        このオプションはHTTP/1.1に違反しているそうなのれすが、逆に強制的に
        何度も再読み込みさせるwebサイトの作者の商売気をそぐには有効かもれす。

        ロゴとか画像とかは更新されないことも多いので、これらのファイルはキャッシュ
        として長く保ったほうがHIT率は高くなるのれす。