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

Confluence のパフォーマンスはキャッシュのパフォーマンスに大きな影響を受ける可能性があります。 

キャッシュのサイズを変更する前に、個々の変更の効果を測定し、必要かどうかを判断できるように、ベースラインを用意しておくことをお勧めします。

このページでは、統計のサンプルをいくつかご紹介し、これらのキャッシュのサイズを変更することによって Confluence のパフォーマンスを改善する方法について説明します。 

キャッシュ統計をチェックしたり、キャッシュ設定を変更したりするだけであれば、「キャッシュ統計」を参照してください。

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 % を超えている)
  • 有効率が低い

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

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

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

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

重要なキャッシュ

次の提案は一般的なガイドラインです。大規模なデータベースの場合、テーブルのサイズの 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 を使用します。


Last modified on Mar 31, 2023

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

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

このセクションの項目

Powered by Confluence and Scroll Viewport.