Grav-performance-caching
Grav-パフォーマンスとキャッシュ
この章では、Gravのパフォーマンスとキャッシュの概念を理解します。
パフォーマンス
パフォーマンスという用語は、システムのより高い負荷を処理し、より高い負荷を処理するようにシステムを変更できるかどうかなど、システムのパフォーマンスを指します。
Gravのパフォーマンスに関連する次の点を考慮してください-
*Gravのパフォーマンスを向上させるには、PHP* opcache *および *usercache* を使用できます。 opcacheはPHP 5.4で適切に動作し、usercacheはPHP 5.5、PHP 5.6、およびZend opcacheでより高速に動作します。
* フラッシュメモリを使用し、可動部品のない *SSD* (ソリッドステートドライブ)。 キャッシュはユーザーキャッシュに保存される場合と、ファイルとして保存される場合があります。 そのため、SSDドライブはパフォーマンスを向上させることができます。
*仮想マシンは、クラウドコンピューティングテクノロジーの下でプロバイダーをホストする最良の方法です。 物理機器と対話せずにリソースを指定できます。* ネイティブホスティング*は仮想マシンよりも高速です。 Gravは仮想マシン上でより良く動作しますが、最適なパフォーマンスを得るには、ネイティブホスティングオプションを利用できます。
* Gravには *faster memory* が搭載されており、キャッシュはサーバーでより良いパフォーマンスを提供する重いメモリを使用します。 他のプラットフォームと比較して、メモリの使用量が少なくなります。
* Gravは、共有サーバーで*共有ホスティング*を使用して物事を共有します。 ホスティングの共有は低コストで利用でき、サーバー上の処理が遅くなる場合があります。
* マルチコアプロセッサは、複数のタスクをより高速に処理するために使用されます。 高度なプロセッサはこれらのプロセッサよりも優れているため、ユーザーはタスクを実行できます。
キャッシング
一般に、キャッシュはキャッシュメモリに格納されたデータです。 キャッシュメカニズムは、ブラウザが元のサーバーではなくキャッシュからファイルを取得できるGravを高速化し、時間と追加のネットワークトラフィックを節約します。
Gravは、以下をサポートするDoctrine Cacheライブラリを使用します-
- Auto(デフォルト)-デフォルトのオプションを自動的に使用します。
- File- cache/ フォルダーに存在するキャッシュファイルを指定します。
- APC
- XCache
- Memcache
- レディス
- WinCache
デフォルトでは、Gravは自動設定を使用します。 APCを試し、次にWinCache、XCacheを試し、最後にFileを使用します。
キャッシュの種類
キャッシングには5つのタイプがあります-
PHPへのYAML構成のキャッシュ。
ページオブジェクトのコアGravキャッシング。
テンプレートファイルをPHPクラスとしてキャッシングします。
メディアリソースの画像キャッシュ。
パイプライン処理によるCSSおよびjQueryのアセットキャッシュ。
*/cache* フォルダーに保存されているYAML設定のキャッシュ。 画像キャッシュは、画像を */images* フォルダーに保存します。 コアGravキャッシングの設定オプションは、以下に示すように *user/config/system.yml* ファイルに保存されます-
cache:
enabled: true
check:
method: file
driver: auto
prefix: 'g'
- enabled オプションは、trueに設定することでキャッシュを有効にします。
- method オプションは、ファイルやフォルダーなどのページの更新をチェックします。
- driver オプションは、Auto、File、APC、XCache、Memcache、Redis、WinCacheなどのさまざまなタイプのキャッシュオプションを指定します。
- prefix オプションは、キャッシュプレフィックス文字列を定義します。
Memcacheオプション
- memcachedサーバー*を使用している場合、* user/config/system.ymlファイル*の memcache ドライバーを使用して、追加の構成オプションを追加する必要があります。 これらのオプションは、* cache:*グループで定義できます。
cache:
...
...
memcache:
server:localhost
port: 8080
Redisオプション
*redis* を使用している場合、* user/config/system.ymlファイル*で *redis* ドライバーを使用して、いくつかの追加の構成オプションを追加する必要があります。 これらのオプションは、* cache:*グループで定義できます。
cache:
...
...
redis:
server:localhost
port: 8080
Twigテンプレートは、 user/config/system.yml ファイルでtwigドライバーを使用することにより、独自のキャッシュメカニズムを使用します。
twig:
cache: true
debug: true
auto_reload: true
autoescape: false
以下のようなオプションがあります-
- cache オプションは、小枝のキャッシュをtrueに設定して有効にします。
- debug オプションは、小枝のデバッグを有効にします。
- auto_reload オプションは、trueに設定して変更をリロードするために使用されます。
- autoescape オプションは、小枝変数を自動エスケープするために使用されます。
キャッシングとイベント
キャッシュが有効な場合、イベントを使用できます。 これは、 OnPageContentRaw 、 OnPageProcessed 、 OnPageContentProcessed 、 OnTwigPageVariables 、および OnFolderProcessed イベントを除くすべてのイベントに対して有効にできます。 これらのイベントは、すべてのページとフォルダーで使用でき、イベントの処理中にのみ実行できます。 これらのイベントは、ページがキャッシュされた後は実行できません。