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

Confluence performance can be significantly affected by the performance of its caches. 

Before you change the size of your caches, it's important to take a baseline so you can measure how effective each individual change is, and decide whether they are needed.

On this page we'll take you through some example statistics and discuss how you might be able to improve Confluence performance by resizing these caches. 

If you just want to check your cache statistics, or make a change to your cache config, see Cache Statistics.

このページの内容

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


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

キャッシュ

% Utilization

有効率(%)

オブジェクト/サイズ

ヒット/ミス/有効期限

添付ファイル

87%

29%

874/1000

78226/189715/187530

コンテンツ添付ファイル

29%

9%

292/1000

4289/41012/20569

コメント本文

98%

81%

987/1000

28717/6671/5522

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

29%

20%

294/1000

4693/18185/9150

データベース クエリ

96%

54%

968/1000

105949/86889/83334

オブジェクト プロパティ

27%

18%

279/1000

5746/25386/8102

ページ コメント

26%

11%

261/1000

2304/17178/8606

ユーザー

98%

5%

982/1000

6561/115330/114279

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

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

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

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

As the stored information gets older or unused it will expire and be evicted from the cache. Cache expiry can be based on time or on frequency of use.

There's not much that you can do with a cache that has both a low percentage of usage and effectiveness. Over time, as the cache is populated with more objects and repeat requests for them are made, the cache's effectiveness will increase.

重要なキャッシュ

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


最終更新日 2020 年 6 月 30 日

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

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

このセクションの項目

Powered by Confluence and Scroll Viewport.