ホームページ > バックエンド開発 > PHPチュートリアル > urlpattern Squid のrefresh_pattern に関する理解と提案

urlpattern Squid のrefresh_pattern に関する理解と提案

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-07-29 08:39:44
オリジナル
928 人が閲覧しました

Refresh_pattern の役割:
は、ページがキャッシュに入った後、キャッシュ内に留まる時間を決定するために使用されます。 fresh_pattern ルールは、明示的な有効期限が設定されていない応答にのみ適用されます。オリジンサーバーは、Expires ヘッダーまたは Cache-Control:max-age ディレクティブを使用して有効期限を指定できます。
構文:refresh_pattern [-i] regexp minpercentmax[options]
min パラメータは分数です。これは、古い応答の最小制限時間です。応答がこの最小制限を超えてキャッシュに存在しない場合、応答は期限切れになりません。同様に、max パラメータはライブ応答の最大制限時間です。応答がこの最大制限を超えてキャッシュ内に存在する場合は、フラッシュする必要があります。
最小時間制限と最大時間制限の間の応答には、Squid の最後に変更された係数 LM-factor アルゴリズム LM-factor=(応答年齢)/(リソース年齢) が適用されます。このような応答の場合、Squid は応答の経過時間と最終変更係数を計算し、それをパーセンテージ値として比較します。応答経過時間は、元のサーバーが応答を生成または最後に検証してからの経過時間にすぎません。ソースの経過時間は、Last-Modified ヘッダーと Date ヘッダーの間で異なります。 LM 係数は、反応年齢とソース年齢の比率です。
よく使用されるいくつかのパラメーターの意味
override-expire
このオプションにより、Squid は Expires ヘッダーをチェックする前に最小値をチェックします。したがって、最小時間がゼロ以外の場合、応答が期限切れになる準備ができている場合でも、Squid は未確認のキャッシュ ヒットを返すことができます。
override-lastmod
Squid が LM-factor パーセンテージをチェックする前に最小値をチェックするようにオプションを変更します。
reload-into-ims
このオプションにより、Squid は確認リクエストに no-cache ディレクティブを使用してリクエストを送信できるようになります。つまり、Squid はリクエストを転送する前に、リクエストに If-Modified-Since ヘッダーを追加します。これは、ターゲットに Last-Modified タイムスタンプがある場合にのみ機能することに注意してください。外部からの受信リクエストは、オリジンサーバーに到達できるように no-cache ディレクティブを保持します。
通常、reload-into-ims を使用できます。実際には、オブジェクトのタイムアウトを強制的に制御するため、http プロトコルの精神に違反しますが、帯域幅が狭い状況では、システムの応答時間を大幅に改善できます。
例:
refresh_pattern -i .css$ 1440 50% 129600 reload-into-ims
refresh_pattern -i .xml$ 1440 50% 129600 reload-into-ims
refresh_pattern -i .html$ 1440 90% 1 29 600 リロード- into -ims-
refresh_pattern -i .shtml$ 1440 90% 129600 reload-into-ims
refresh_pattern -i .hml$ 1440 90% 129600 reload-into-ims
refresh_pattern -i .jpg$ 1440 90% 129600ロードイン- ims
refresh_pattern -i .png$ 1440 90% 129600 reload-into-ims
refresh_pattern -i .gif$ 1440 90% 129600ignore-reload
refresh_pattern -i .bmp$ 1440 90% 129600
リフレッシュパターン- i .js$ 1440 90% 129600 reload-into-ims

ignore-reload
このオプションにより、Squid はリクエスト内のキャッシュなしディレクティブを無視します。
それで。コンテンツがキャッシュに入った後、アクティブにパージされるまで削除されないようにしたい場合は、mp3、wma、wmv、gif などで一般的に使用される、ignore-reload オプションを追加できます。
例:
refresh_pattern -i .mp3$ 1440 50% 2880ignore-reload
refresh_pattern -i .wmv$ 1440 50% 2880ignore-reload
refresh_pattern -i .rm$ 1440 50% 2880ignore-reload
refresh _パターン -i .swf$ 1440 50% 2880ignore-reload
refresh_pattern -i .mpeg$ 1440 50% 2880ignore-reload
refresh_pattern -i .wma$ 1440 50% 2880ignore-reload
resource age = オブジェクトがキャッシュに入った時間 -オブジェクトの last_modified
応答経過時間 = 現在時刻 - オブジェクトがキャッシュに入った時刻
LM-factor = (応答経過時間)/(リソース経過時間)
たとえば、ここではパーセントのみが考慮され、最小値と最大値は考慮されません
例:refresh_pattern 20%
サーバー上のソース www.aaa.com/index.htm -----lastmodified は 2007-04-10 02:00:00
proxy.aaa.com/index.htm であると仮定しますSquid Index.htm がキャッシュに入った時刻は 2007-04-10 03:00:00 です
1) 現在時刻が 2007-04-10 03:00:00 の場合
リソースの経過時間 =3 時-2 時Clock=60 minutes
response age =0 minutes
index.htm もキャッシュに残ることができます 時間 (リソースの経過時間)*20%=12 分
つまり、index.htm がキャッシュに入ってから 12 分間保持できます再確認される数分前。
2) 現在時刻が 2007-04-10 03:05:00 の場合、
リソース経過時間 = 3 時〜 2 時 = 60 分
応答経過時間 =5 分
index.htm はキャッシュに残ることができます。 (リソースの年齢)* 20%=12 分-5=7
LM-factor=5/60=8.3%2007-04-10 03:12:00 まで LM-factor=12/60=20 %、その後、キャッシュします。index.htm 内のページは最終的に古くなります。
この時点でindex.htmに対するリクエストがない場合、index.htmは常にキャッシュ内にあります。index.htmに対するリクエストがあった場合、Squidはリクエストを受信した後、有効期限が切れているため、Squidはクエリを送信します。ソースサーバーが変更されたリクエストを受信した後、index.htm が更新されていない場合、Squid はキャッシュを更新する必要がなく、キャッシュされたコンテンツをクライアントに直接返します。同時に、リセットされたオブジェクトがキャッシュに入る時刻は、この直後にページが再確認された場合、2007-04-10 03:13:00 など、ソース サーバーで確認された時刻になります。リセット後、リソースの寿命は長くなり、それに対応してキャッシュ内の生存時間も長くなります。
変更があった場合は、最新のindex.htmをSquidに返します。Squidはそれを受け取った後にキャッシュを更新し、同時に新しいindex.htmをクライアントに返します。新しいページの Last_Modified とページが取得された時刻から、さらに生存時間を計算します。
実際、ページがキャッシュに入った後、再確認されるまでの存続時間、つまり (リソースの経過時間) * パーセンテージが決定されます。

上記は、urlpattern の内容を含め、Squid の refresh_pattern に関する理解と提案をいくつか紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート