ホームページ  >  記事  >  運用・保守  >  Apacheサーバーのキャッシュモジュールとは何ですか?

Apacheサーバーのキャッシュモジュールとは何ですか?

(*-*)浩
(*-*)浩オリジナル
2019-11-28 14:46:203069ブラウズ

Apacheサーバーのキャッシュモジュールとは何ですか?

Apache サーバー キャッシュ

Apache サーバー キャッシュの動作原理 (推奨調査) :Apache サーバー )

Apacheサーバーのキャッシュモジュールとは何ですか?

上記は簡単なフローチャートです:

ユーザー 1 がページ A にアクセスします、サーバーはページ A を解析し、ユーザー 1 に返します。同時に、サーバーのメモリ上で特定のマッピングを実行し、ページ A をハード ディスクにキャッシュします。

ユーザー 2 はページ A にアクセスし、サーバーはメモリ上のマッピングに基づいて対応するページ キャッシュを直接見つけ、ユーザー 2 に直接返すため、サーバーによる同じページの繰り返し解析が削減されます。

サーバー キャッシュとブラウザ キャッシュの違い:

サーバー キャッシュはページをサーバー上のハードディスクにキャッシュしますが、ブラウザ キャッシュはページをユーザーにキャッシュします。自分のコンピュータ。

mod_file_cache モジュールを有効にして静的ファイルをキャッシュする

ファイルを開くアクション自体、特にネットワーク ファイル システムでファイルを開く操作が遅延の原因となります。

Apache は、使用頻度の高いファイルのファイル記述子のバッファを維持することで、この遅延を回避できます。頻繁にリクエストされるめったに変更されないファイルは、サーバーの負荷を軽減する手法としてキャッシュされます。

mod_file_cache は、頻繁に要求される静的ファイルをキャッシュするための 2 つの手法を提供します。

CacheFile は Apache に存在します。最も基本的なバッファリング方法は、mod_file_cache によって実装されるファイル ハンドル (ファイル ハンドル) バッファリングです。このバッファは、ファイルの内容自体をキャッシュするのではなく、構成ファイルの CacheFile ディレクティブを使用して指定されたファイルへのファイル ハンドルを保持する、開いているファイル記述子のテーブルを維持します。

CacheFile ディレクティブは、起動時にファイルを開き、その後のファイルへのすべてのアクセスでファイル ハンドルを再利用するように Apache に指示します。

//Example CacheFile/usr/local/apache2/htdocs/index.html

このメソッドを使用して多数のファイル ハンドルをキャッシュする予定の場合は、動作環境がシステムは同時に開かれたファイルを処理します。ファイル数の制限は十分です。

CacheFile を使用してもファイルの内容はキャッシュされませんが、Apache の実行中はファイルへのすべての変更が有効になりません。提供に使用されるファイルの内容は、Apache の起動以来変更されません。 Apache の実行中にファイルが削除された場合、

mod_cache モジュールを有効にして動的ファイルをキャッシュする

mod_cache には 2 つのストレージ管理モジュールがあります:

mod_disk_cache、ディスクベースのストレージ管理モジュール。

mod_mem_cache、メモリベースのストレージ管理モジュール。

mod_mem_cache は 2 つの異なる動作モードに設定できます: ① オープン ファイル記述子をキャッシュする; ② ヒープ上のオブジェクトをキャッシュする。

mod_mem_cache は、ローカルで生成されたコンテンツをキャッシュするために使用できます。また、リバース プロキシ モードで mod_proxy のバックエンド サーバーによって出力されたコンテンツをキャッシュするために使用することもできます (ProxyPass を参照)。

mod_mem_cache: システムのメモリからコンテンツを直接提供するメモリベースのキャッシュは、通常、コンテンツを提供する最速の方法です。ディスク コントローラーからファイルを読み取る場合、さらに悪いことに、リモート ネットワークからファイルを読み取る場合は、桁違いに遅くなります。

ディスク コントローラーには通常、物理的なアクションが含まれ、ネットワークへのアクセスはネットワーク帯域幅によって制限されますが、メモリへのアクセスには通常、数ナノ秒しかかかりません。メモリはおそらく、利用可能なバイト当たりのメモリの中で最も高価であり、その可能性を最大限に活用することが重要です。

ファイルをメモリにキャッシュすると、利用可能なシステム メモリが減少します。後で説明しますが、オペレーティング システムにメモリ バッファーが存在する場合、これは大きな問題ではありません。

ただし、Apache 独自のメモリ バッファを使用する場合は、バッファに過剰なメモリが割り当てられないようにすることが非常に重要です。そうしないと、オペレーティング システムがスワップ (仮想メモリ/スワップ領域) を使用することになり、パフォーマンスが大幅に低下する可能性があります。オペレーティング システムは、ほとんどすべての最新の操作をキャッシュします。

Apache サーバーのコンテンツ キャッシュ

Apache 2.2 以降、mod_cache と mod_file_cache という 2 つのキャッシュ モジュールが正式に使用されています。これらのバッファリング システムは、オリジン Web サーバーとプロキシ サーバーでの HTTP 処理を高速化する強力な方法を提供します。

公式マニュアルの説明 mod_cache と mod_file_cache の違い: mod_cache キャッシュの実装は、インテリジェントな HTTP バッファリングを提供する 2 つのモジュール mod_mem_cache と mod_disk_cache に依存しています。

コンテンツ自体はバッファーに保存され、mod_cache の目的は、コンテンツのバッファリング機能を制御するさまざまな HTTP ヘッダーとオプションを管理することです。ローカル コンテンツとプロキシ コンテンツの両方を処理できます。

mod_cache は、アクセスを高速化する必要があるプロキシ コンテンツ、動的ローカル コンテンツ、および時間の経過とともに変化するローカル ファイルを処理するために、単純なキャッシュ構成と複雑なキャッシュ構成の両方向けに設計されています。

mod_cache モジュールを有効にする方法をお読みください。 mod_file_cache は、より基本的ですが、場合によってはより効率的な形式のキャッシュを実装し、URL キャッシュ機能を積極的に確保するために必要なメンテナンスの複雑さを回避します。mod_file_cache は、ファイル ハンドルとメモリ マッピングを提供することでこれを実現します。 -mapping) ファイル バッファを維持するためのトリックApache が最後に起動されて以来。

以上がApacheサーバーのキャッシュモジュールとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。