キャッシュ パフォーマンスのチューニング

Confluence のパフォーマンスはキャッシュのパフォーマンスに大きな影響を受ける可能性があります。Confluence の大規模な本番インストールの管理者は、環境に合わせてキャッシュ サイズを調整する必要があります。

キャッシュ設定を変更する前に、変更の効果およびそれらの必要性を判断するための比較ポイントを用意しておくことをおすすめします。例えば、ページの読み込み時間やログイン時間等を比較します。 

キャッシュのサイズを変更するには、

  1. Go to  > General Configuration > Cache Management.
  2. 詳細ビューの表示 を選択します。
  3. 変更したいキャッシュの横にある サイズ調整 を選択します。

On this page:

キャッシュのチューニング例


Confluence のキャッシュをチューニングする具体例として、次の表を見てみましょう。

キャッシュ

使用率(%)

有効率(%)

オブジェクト/サイズ

ヒット/ミス/有効期限

添付ファイル

87%

29%

874 時間 365 日

78226/189715/187530

コンテンツ添付ファイル

29%

9%

292 時間 365 日

4289/41012/20569

コメント本文

98%

81%

987 時間 365 日

28717/6671/5522

コンテンツ ラベル マッピング

29%

20%

294 時間 365 日

4693/18185/9150

データベース クエリ

96%

54%

968 時間 365 日

105949/86889/83334

オブジェクト プロパティ

27%

18%

279 時間 365 日

5746/25386/8102

ページ コメント

26%

11%

261 時間 365 日

2304/17178/8606

ユーザー

98%

5%

982 時間 365 日

6561/115330/114279

上記のキャッシュの最大サイズは 1000 です(つまり、1000 個のオブジェクトまで含められることを意味します)。キャッシュサイズの拡大が必要になる時期は、キャッシュが次の 2 つの条件に該当するかどうかで確認できます。

  • 使用率が高い(75 % を超えている)
  • 有効率が低い

「有効率」と「使用率」の対応関係を確認します。使用率が低いキャッシュのサイズを下げる必要はありません。キャッシュがいっぱいになるまでメモリの消費は増えません。

上の条件をもとにすると、"添付ファイル"、"データベース クエリ"、"ユーザー" のキャッシュは、サイズを拡大して、有効率を改善する必要があります。

保存された情報が古くなったり、使用されなかったりすると、情報は期限切れとなり、キャッシュから除去されます。キャッシュの有効期間は使用回数や使用頻度をもとにしています。

(info) 使用率と有効率の両方が低いキャッシュについては、できることはあまりありません。時間が経つにつれて、キャッシュに含まれるオブジェクトが増え、それらに対して繰り返しリクエストが行われると、キャッシュの有効性が高まります。

設定ファイルの保管場所

キャッシュ設定は <confluence-home>/shared-home/config/cache-settings-overrides.properties に格納されます。 

Confluence Data Center (クラスタ構成) の場合、これは <confluence-shared-home>/config/cache-settings-overrides.properties (クラスタの共有ホーム ディレクトリ) で見つけることができます。

キャッシュ キーのマッピング

キャッシュ設定ファイルは、キーを使用してキャッシュを設定します。キャッシュ キーを調べるには、キャッシュ管理 画面でキャッシュ名の上にマウスを置きます。

Confluence Data Center でのキャッシング 

Confluence Data Center(クラスタ化済み)には、分散キャッシュとクラスタ ノード ローカル キャッシュがあります。クラスタ管理ページには、クラスタ分散キャッシュとクラスタ ノード ローカル キャッシュが表示されます。 

キャッシュ設定ファイルは、クラスタ用の共有ホーム ディレクトリに保存されています。 

重要なキャッシュ

次の提案は一般的なガイドラインです。大規模なデータベースの場合、テーブルのサイズの 20 ~ 30% が不必要ほど大きくなっている可能性があります。より具体的な評価をするには、キャッシュの有効性と使用率のカテゴリーを確認してください。


  • コンテンツ オブジェクト キャッシュ (com.atlassian.confluence.core.ContentEntityObject)
    は少なくとも、システム内のコンテンツのエンティティ オブジェクト (ページ、コメント、メール、ニュース記事) 数の 20 ~ 30 % に設定する必要があります。コンテンツのエンティティ オブジェクトの数を確認するには、クエリ select count(*) from CONTENT where prevver is null を使用します。
  • コンテンツ ボディ マッピング キャッシュ (com.atlassian.confluence.core.ContentEntityObject.bodyContents)
    は少なくとも、システム内のコンテンツのエンティティ オブジェクト (ページ、コメント、メール、ニュース記事 ) 数の 20 % に設定する必要があります。コンテンツのエンティティ オブジェクトの数を確認するには、クエリ select count(*) from CONTENT where prevver is null を使用します。
  • 組み込みの Crowd 内部ユーザー キャッシュ (com.atlassian.crowd.model.user.InternalUser)
    これは、内部ディレクトリのユーザー数に設定する必要があります。この数値は次の SQL を使用して確認できます。 

    SELECT
        COUNT(*)
    FROM
        cwd_user u
    JOIN
        cwd_directory d
    ON
        u.directory_id = d.id
    AND d.directory_name = 'Confluence Internal Directory';
  • 組み込みの Crowd のユーザー キャッシュ (com.atlassian.confluence.user.crowd.CachedCrowdUserDao.USER_CACHE)
    は、cwd_user テーブルの行数に設定する必要があります。 

    SELECT
     COUNT(*)
    FROM
     cwd_user u;
  • ID によるスペース権限キャッシュ (com.atlassian.confluence.security.SpacePermission
    は、デプロイメント内のスペース権限の数に設定する必要があります (大まかな目安として、スペース数の 20 倍)。スペース権限の数を確認するには、クエリ select count(*) from SPACEPERMISSIONS を使用します。
最終更新日 2019 年 5 月 31 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する

このセクションの項目

Powered by Confluence and Scroll Viewport.