「キャッシュ定義」の版間の差分

提供:MoodleDocs
移動先:案内検索
273行目: 273行目:
<br />'''優先度:''' 4
<br />'''優先度:''' 4


===コース連絡先一覧 List of course contacts===
===コース連絡先一覧===


コース連絡先をキャッシュするため使用されます。
コース連絡先をキャッシュするため使用されます。
288行目: 288行目:
'''高度な複数サーバサイトに関するメモ'''
'''高度な複数サーバサイトに関するメモ'''


* これはコース表示/検索時にアクセスされます。This is accessed while rendering/searching course
* これはコース表示および検索時にアクセスされます。
* 要共有キャッシュ Requires shared cache.
* 要共有キャッシュ


===プラグイン情報マネージャ Plugin info manager===
===プラグイン情報マネージャ Plugin info manager===

2019年10月13日 (日) 15:02時点における版


作成中です - Mitsuhiro Yoshida (トーク)

このページにはコアのキャッシュ定義に関する情報を含みます。この情報はMoodleのキャッシングシステムを最大限活用したい管理者に有用です。それぞれのキャッシュに関する情報はどのバックエンドがどの定義を使用するのか決定するのに役立ちます。

規模の小さなサイトまたは単一バックエンドが適用されている単一サーバの場合、memcache等によりパフォーマンスをすぐに改善することができます。
しかし、少しの計画と注意深いマッピングにより、あなたはさらにパフォーマンスを改善することができます。

このドキュメントの内容

コア内の各キャッシュ定義にはヘッディングおよびキャッシュ説明を含みます。
名称および説明と同じく以下の情報も詳述されます:

時期:このキャッシュ定義が最初にMoodleに導入された時期です。
コンポーネントエリア: このコードが属するコードコンポーネントおよび割り当てられたエリア (ユニークな単純な名称) です。
増加: このキャッシュが固定サイズになる場合、またはサイトデータの増加に伴い増加できる場合に宣言します。恐らく、どのようにキャッシュが増加するかに関する情報です。
誰: どのユーザがキャッシュから恩恵を受けるか。
優先度: サイトでの予想されるキャッシュの使用に関する表示です。値は1から5の間です。キャッシュが固定サイズであり、アクセスされた場合にすべてのページでの使用が期待できる場合、利用できる最速のバックエンドへの割り当てが得策であると考えられるため、優先度に5が割り当てられます。反対に急速に増加すると予想され特定のページのみでアクセスされるキャッシュには優先度1が与えられます。これは特定のユーザのみ (例 教師または管理者) に適用されます。あなたのサイトにキャッシングを実装する方法を決定する場合、あなたは少なくともこのキャッシュを配慮すべきです。

大規模サイトのキャッシュ設定に関するメモ

それぞれの異なるキャッシュは個別に設定できます。また、管理者は特定のシステムのために独自に「チューニング」できます。
デフォルトではこれらのキャッシュすべてはファイルシステムを使用するよう設定されています。通常、これは小さな単一サーバのシステムに適切です。

しかし、クラスタでは共有ファイルシステムが遅いため、これらのデフォルトでは問題が発生する可能性があります。そのため、この場合、代わりにmemcachedのような速い共有キャッシュバックエンドの使用をお勧めします。多くの場合、これらのキャッシュは共有の下に動作することを前提とされている点に留意してください。
あなたは場合によってはローカルファイルシステムのような非共有キャッシュの使用を選択することができます。しかし、これらのインスタンスではシステム管理の一環として忘れずに手動でキャッシュをクリアしてください。

アプリケーションキャッシュ

アプリケーションキャッシュは共有キャッシュです。

コースのモジュールおよセクションに関する累積情報

コースモジュールに関する累積情報、「get_fast_modinfo()」と同様にコースページを表示するために使用されるセクション。
このキャッシュは「rebuild_course_cache()」内で強制的にリセットされます。

これは実運用サイトのキャッシングを最適化できる素晴らしいキャッシュです。
主にコースページ、および非常に頻繁にアクセスされ費用のかかるページのためにアクセスされます。また、コース、セクションまたは活動で情報を検索または表示する時にMoodle内で頻繁に呼ばれる関数「get_fast_modinot()」内で利用されます。

Moodle 2.6以降
コンポーネント/エリア: core, coursemodinfo
成長: 指数、コース数、コース内のセクション数およびセクション内の活動数がキャッシュサイズを決定します。
誰: 全員。このキャッシュはすべてのページでアクセスされるわけではありませんが、コースと関連付けられているため、あなたはキャッシュへのアクセスはまだ高いと予想できます。
優先度: 4

カレンダー購読

カレンダー購読をキャッシュする。
これは特定の場所に素早くアクセスするためにデータベースからカレンダー購読レコードを保存するための非常に極めてシンプルなキャッシュです。

あなたのユーザが多くのカレンダーを購読しそうにない限り、これは優先度の低いキャッシュと考えるべきです。
保存される実データは非常に小さなものとなります。あなたに多くのカレンダー購読マッピングがある場合、このキャッシュ定義は速く小さなバックエンドにすることが理想的です。

Moodle 2.5以降
コンポーネント/エリア: core, calendar_subscriptions
成長: ユーザに作成されたカレンダー購読数により決定されます。あなたのユーザに完全に依存します。
誰: カレンダーページのカレンダーを購読している人すべて、カレンダーが表示されるブロック
優先度: 1

高度な複数サーバサイトに関するメモ

  • キャッシュとは:- 「event_subscriptions」テーブルからのレコードエントリです。様々なカレンダー購読に対応します。
  • キャッシュが更新されるタイミング:- カレンダー購読が更新または削除される時
  • アクセス頻度:- カレンダー投稿詳細が取得されるたび
  • いつキャッシュが完全に削除されるか - これは不要です。

用語リンク [mod_glossary]

用語集フィルタの用語をキャッシュします。

用語はサイトまたはコースに関してキャッシュされます。コースIDがコースのキーとして使用される場合、「0」はサイト用語のキーとして使用されます。
キャッシュ内のそれぞれのアイテムは2つのアイテムにより構成される配列です。最初の配列は用語集、2番目の配列は用語です。
実際に保存されるデータは最小となります。仮に大きなサイトであるとしても、このキャッシュに必要なストレージは比較的小さなものとなります。

重要 このキャッシュをローカルキャッシュにはできません。共有キャッシュにしてください。

Moodle 2.7 (MDL-44366) 以降
コンポーネント/エリア: mod_glossary, concepts
成長: 実験的、用語集数および用語集内のアイテム数がこのキャッシュのサイズを決定します。
誰: 用語集フィルタが有効にされた場合、誰でも。
優先度: 3

設定

サイト設定をキャッシュします。これはコアおよびプラグインすべての管理設定です。

ユーザの状況および作業完了に関わらず、このキャッシュはMoodle内のページすべてにおいて毎回アクセスされます。
あなたが利用できる最も速いバックエンドにこのキャッシュをマッピングしてください。

Moodle 2.4以降
コンポーネント/エリア: core, config
成長: 固定、アイテム数はコアの設定数およびインストール済みプラグインすべてとなります。これは設定の導入または削除時のみ増加します。
誰: 誰でも、エラーなしですべてのページ。
優先度: 5

高度な複数サーバサイトに関するメモ

  • 共有キャッシュ必須
  • 設定を取得するため、このキャッシュは頻繁にアクセスされます。

コースカテゴリツリー

これは完全なコースカテゴリツリーをキャッシュします。

多くの場合、これはコースカテゴリ構造を操作する時に使用されます。あなたは完全なツリーまたはツリーの一部が表示される状況でのアクセスを期待できます。
これにはフロントページで表示するよう設定できるエレメントを含みます。
あなたがMoodleでどのように設定したか、何を表示するよう設定したかにより使われ方が決定されます。

Moodle 2.5 (MDL-38147) 以降
コンポーネント/エリア: core, coursecattree
成長: 固定、あなたのサイトのコースカテゴリ制限されます。コース作成中、このサイトは顕著に大きくなりますが、日々の利用で変化することはありません。
誰: 誰でも.
優先度: 3

高度な複数サーバサイトに関するメモ

  • 要共有キャッシュ
  • changesincoursecatイベントがトリガーされた場合、無効にされます。

コースグループ情報

コースのグルーピング情報をキャッシュします。

情報はコースに関してキャッシュされ、非常にシンプルです。コースにグループが設定されて使用される場合のみ使用されます。
このキャッシュは1ページあたり1~2クエリ保存されることを期待できます。This cache can be expected to save 1 - 2 queries per page.

Moodle 2.5 (MDL-34398) 以降
コンポーネント/エリア: core, groupdata
成長: 固定、コース数およびコース内のグループ数がキャッシュサイズを決定します。
誰: コース内グループにアクセスするユーザすべてが使用されます。
優先度: 2

高度な複数サーバサイトに関するメモ

  • コースのグループデータが取得される時に更新されます。
  • 共有キャッシュに必要です。

データベースメタ情報

カラムに関する情報を含むデータベーステーブルのメタ情報をキャッシュします。

このキャッシュは優先キャッシュです。Moodle内のほとんどのページでアクセスされるため、その運用は高価なものとなる場合があります。
それぞれのエントリはキーとしてテーブル名を使用します。また、キャッシュデータはデータベーステーブルの構造です。

Moodle 2.4 (MDL-25290) 以降
コンポーネント/エリア: core, databasemeta
成長: 固定、データベーステーブル数がキャッシュサイズを決定します。プラグ委員のアップグレードおよびインストール/削除時のみ変更できます。
誰: 誰でも
優先度: 5

高度な複数サーバサイトに関するメモ

  • 共有キャッシュに必要です。
  • 共有しない場合、一時テーブルの作成を含むデータベース構造変更後にキャッシュを無効にする必要があります。

イベント無効化

このキャッシュはMoodle 2.7で導入されたMUC APIのイベント無効化を管理するため使用されます。

これはMoodle内で頻繁に使用されるものではありません。編集時および複数キャッシュの削除が必要な時に使用されます。複数キャッシュすべてが共有されるものではなく、次回ユーザがキャッシュに接触する時点で削除できます。 全体のキャッシュサイズは相対的に大きくありません。また、これらのキャッシュはページアクセス時に頻繁にチェックされるため、このキャッシュを速いバックエンドにマップすることをお勧めします。

Moodle 2.4 (MDL-25290) 以降
コンポーネント/エリア: core, eventinvalidation
成長: 固定、イベントは定義により購読されます。また、プラグインのアップグレード、インストールおよび削除中のみ変更されます。
誰: 誰でも。操作によりイベントが発動されます。キャッシュが切断された場合、ユーザが次回ページにアクセスするまで反映されません。
優先度: 4

高度な複数サーバサイトに関するメモ

  • 無効なものが発生した場合、すぐに削除されると共にタイムスタンプ付きのイベントレコードが作成されます。
  • 共有キャッシュを必要とします。

イベントオブザーバ

このキャッシュはイベントオブザーバのリストを保存するため使用されます。

インストール/更新でイベントオブザーバリストの初期化中に更新されます。
このキャッシュはイベント発生時にアクセスされます。

Moodle 2.6 (MDL-39846) 以降
コンポーネント/エリア: core, observers
成長: ?
誰: ?
優先度: ?

高度な複数サーバサイトに関するメモ

  • 共有キャッシュを必要とします。

特定ユーザの外部バッジ

外部バッジの保存に使用されます。

Moodle 2.5.2, 2.6 (MDL-40924) 以降
コンポーネント/エリア: core, externalbadges
成長: ?
誰: ?
優先度: ?

条件付き利用制限の評価のための評定アイテムキャッシュ [availability_grade, items]

条件付利用の目的でコース評定アイテムのキャッシュに使用されます。

注意: このキャッシュでは3600 (1時間) のTTL (Time To Live 生存期間) を設定します。

'Moodle 2.7 (MDL-44070) 以降
コンポーネント/エリア: availability_grade, items
成長: ?
誰: ?
優先度: ?

HTML Purifier - クリーニング済みコンテンツ

これは問題の可能性のあるデータをクリーニングした後のMoodleすべての部分のテキスト (フォーラム、リソース、説明等) キャッシュです。

キャッシュはユーザに関連するテキストおよびテキストのコンテクストをクリーニングします。

ヒント: このデータはクラスタノードのローカルキャッシュに安全に保存できます。

Since: Moodle 2.4.2, 2.5 (MDL-36297) Moodle 2.4.2, 2.5 (MDL-36297) 以降
コンポーネント/エリア: core, htmlpurifier
成長: 急激、通常はユーザ+コンテクストの組み合わせでクリーニングされたコンテンツが1回保存されます。
誰: 誰でも
優先度: 3


高度な複数サーバサイトに関するメモ Moodle 2.5において

  • これは共有キャッシュを要求します。
  • 共有されない場合、すべてのアップグレード後または「$CFG->allowobjectembed」設定の変更後、手動で削除する必要があります。

Moodle 2.6およびそれ以降において

  • これはローカルまたはストアノードキャッシュで正常に動作します。あなたは特別に何かする必要はありません。

言語ストリングキャッシュ

言語ストリングキャッシュはMoodle内で最も重要なキャッシュの1つであり、Moodleで使用される言語ファイルすべてをキャッシュします。
有限個の言語および言語ファイルがあり、ほとんどすべてのMoodle内ページでアクセスされるため、言語ストリングキャッシュはサイズを固定します。
これは設定する最も重要なキャッシュであり、あなたが利用できる最速のバックエンドにマップしてください。

言語ストリングは改訂版、言語および言語コンポーネントのハッシュをキーとして使用します。付随するファイル内の配列にあるのがデータです。
後に続く言語ファイル内のストリング読み込みをスピードアップするため、このキャッシュでは静的アクセラレーションが使用されます。通常、ストリングのリクエストは1つずつであり、しばしば少ない数の言語ファイルからのみリクエストされるため、これは重要な点です。

ヒント: キャッシュの利用は管理者 + マネージャおよび教師 + 学生間で大きく異なります。より多くの操作および異なるコンポーネントおよびプラグインに関わることのできる管理者およびマネージャは教師または学生が必要とする言語ファイル数以上にページにアクセスするための言語を要求します。
あなたのキャッシュ設定をテストする場合、あなたが学生ロールとしてテストしていることを確認してください。

Since: Moodle 2.4 (MDL-25290)
コンポーネント/エリア: core, string
成長: 固定サイズ。それぞれの言語ストリングはここでキャッシュされます。キャッシュサイズは固定されますが、あなたのサイトで利用可能な言語数により決定されます。
誰: 誰でも、Moodle内の閲覧可能なページすべて。
優先度: 5

高度な複数サーバサイトに関するメモ

  • サイト間で共有された場合、言語の修正も共有されてしまうことに留意してください。

Moodle 2.4およびMoodle 2.6:

  • 共有キャッシュを推奨します。
  • キャッシュが共有されていない場合、ローカル言語パックの編集、アップグレード中の言語パックの更新、言語のインストールまたはアンインストール等の言語ストリングの変更後に手動でキャッシュをクリアしてください。

Moodle 2.6およびそれ以降:

  • ローカルおよび共有ノードキャッシュが十分に動作するため、あなたは特別に何もすることはありません。

利用可能な言語一覧

利用可能な言語一覧をキャッシュします。

この言語一覧はページで言語一覧がリクエストされるたびに使用されます。
このため、キャッシュは1つ以上の言語がインストールされたMoodle内の多くのページでアクセスされます。 複数の言語がインストールされているサイトであったとしても固定サイズの小さなキャッシュであるため、あなたは利用可能な速いバックエンドにマッピングしても良いでしょう。

Since: Moodle 2.6 (MDL-41019)
コンポーネント/エリア: core, langmenu
成長: 固定、サイトにインストールされている言語数により決定されます。
誰: 誰でも
優先度: 4

コース連絡先一覧

コース連絡先をキャッシュするため使用されます。

コース連絡先はMoodle全体のいくつかの場所に表示されます。これは多くの場合、公開情報だと考えられ、すべてのユーザが閲覧できます。.
コースの連絡先一覧の処理は高価です。しかし、コース連絡先一覧は選択されたページでのみ表示されます。

Moodle 2.5 (MDL-38596) 以降
コンポーネント/エリア: core, coursecontacts
成長: コース数およびコース連絡先ロールのユーザ数により、このキャッシュサイズが決定されます。
誰: 誰でも。コース連絡先は公開情報であり、誰でもアクセスできるMoodle内の数箇所に表示されます。
優先度: 3

高度な複数サーバサイトに関するメモ

  • これはコース表示および検索時にアクセスされます。
  • 要共有キャッシュ

プラグイン情報マネージャ Plugin info manager

Caches information on installed plugins, enabled plugins, and present plugins.

This cache is heavily used when managing plugins for site through the admin interfaces.
Primarily people accessing this page benefit from the existence of this cache.

Note: This must be a shared cache.

Since: Moodle 2.5 (MDL-34401)
コンポーネント/エリア: core, plugin_manager
成長: fixed, the number of plugins determines the size of this cache.
誰: Administrators primarily.
優先度: 2

プラグイン情報 - ベース Plugin info - base

  • This cache is used by plugininfo_base class and stores plugin information.
  • This is accessed while loading/checking plugin versions from disk.
  • Requires shared cache.

プラグイン情報 - 活動モジュール Plugin info - activity modules

  • This cache is used by plugininfo_mod class and provide access to records in modules table.
  • This is accessed while loading/checking modules.
  • Requires shared cache.

プラグイン情報 - ブロック Plugin info - blocks

  • This cache is used by plugininfo_block class and provide access to records in block table.
  • This is accessed while loading/checking blocks.
  • Requires shared cache.

プラグイン情報 - フィルタ Plugin info - filters

  • This cache is used by plugininfo_filter class and stores names of all filters installed.
  • This is accessed while loading/checking installed filters.
  • Requires shared cache.

プラグイン情報 - リポジトリ Plugin info - repositories

  • This cache is used by plugininfo_repositories class and provide access to records in repository table.
  • This is accessed while loading enabled repositories.
  • Requires shared cache.

プラグイン情報 - ポートフォリオ Plugin info - portfolios

  • This cache is used by plugininfo_portfolio class and stores list of enabled portfolio plugins.
  • This is accessed while checking if portfolio is enabled.
  • Requires shared cache.

問題定義 Question definitions

Caches question definitions. This is used by the question bank class.

Since: Moodle 2.4 (MDL-34399)
コンポーネント/エリア: core, questiondata
成長: ?
誰: ?
優先度: ?

高度な複数サーバサイトに関するメモ

  • This gets updated when question is loaded or edited.
  • Doesn't require data guarantee.
  • Requires shared cache.

条件による利用可否を評価するためのユーザ評定キャッシュ User grades cached for evaluating conditional availability

Since:
コンポーネント/エリア: core, gradecondition
成長:
誰:
優先度:

条件による利用可否を評価するためのユーザ評定キャッシュ[availability_grade, scores] User grades cached for evaluating conditional availability [availability_grade, scores]

Used to cache user grades for conditional availability purposes.

Note: This cache sets a TTL (Time To Live) of 3600 (1 hour).

Since: Moodle 2.7 (MDL-44070)
コンポーネント/エリア: availability, scores
成長: ?
誰: ?
優先度: ?

YUIモジュール定義 YUI Module definitions

Caches information on shifter YUI modules used within Moodle when JS caching is enabled.

Since: Moodle 2.5 (MDL-38391)
コンポーネント/エリア: core, yuimodules
成長: fixes, the number of Moodle YUI modules within core and plugins. This will only change during upgrade, or installation/removal of plugins.
誰: everyone, this is used when ever Moodle YUI modules are used on a page and that is most pages as of 2.8.
優先度: 5

高度な複数サーバサイトに関するメモ

  • Requires shared cache.

セッションキャッシュ Session caches

Data cached here belongs to the user browsing the site.

特定ユーザのためのコースカテゴリ一覧 Course categories lists for particular user

Used to store data for course categories visible to current user. Helps to browse list of categories.
This is also used during course category management.

Since: Moodle 2.5 (MDL-38147)
コンポーネント/エリア: core, coursecat
成長: the number of categories and courses on the site that the user can see will determine the size of this for the current user.
誰: everyone, it is used within several front page elements.

高度な複数サーバサイトに関するメモ

  • Requires shared cache.
  • Is invalidated when changesincoursecat or changesincourse event is trigged.

Moodle内でユーザの選択を保持するために使用されるデータ Data used to persist user selections throughout Moodle

Caches user selections that should persist for the lifetime of the users log in. This includes things like which categories the user has expanded in the course category management page.
Think of them like user preferences but with limited lifetime.

Since: Moodle 2.6 (MDL-42299)
コンポーネント/エリア: core, userselections
成長: exponential, depends upon how much the user interacts with things like expading categories.
誰: logged in users.

フォルダ名キャッシュ Folder name cache [repository_skydrive]

?

Since: Moodle 2.6 (MDL-30740)
コンポーネント/エリア: repository_skydrive, foldername
成長: ?
誰: ?
優先度: ?

リクエストキャッシュ Request caches

Caches here last only for the life time of the request and are only available to the browsing user.

コースカテゴリレコード Course categories records

Caches a list of course categories visible to the user.

Since: Moodle 2.5 (MDL-38147)
コンポーネント/エリア: core, coursecatrecords
成長: fixes, the number of categories on the site visible to the user will determine this.
誰: everyone

高度な複数サーバサイトに関するメモ

  • This is accessed while rendering course category.
  • Is invalidated when changesincoursecat event is triggered.
  • Require local cache.

ヘルパキャシュ Helper caching [tool_uploadcourse]

Since: Moodle 2.6 (MDL-13114)
コンポーネント/エリア: tool_uploadcourse, helper
成長: ?
誰: Administrators
優先度: ?

リポジトリインスタンスデータ Repositories instances data

Used to cache data on configured repositories to avoid repetitive database calls to load repositories.

Since: Moodle 2.5 (MDL-34346)
コンポーネント/エリア: core, repositories
成長: ?
誰: logged in users with one or more accessible repositories.
優先度: ?

高度な複数サーバサイトに関するメモ

  • Requires local cache.

詳細情報 More information

関連情報