How to find the largest Confluence pages by storage size in the database

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

Platform Notice: Data Center and Cloud By Request - This article was written for the Atlassian data center platform but may also be useful for Atlassian Cloud customers. If completing instructions in this article would help you, please contact Atlassian Support and mention it.

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Fisheye および Crucible は除く

目的

データベース監査または Confluence のクリーンアップ作業の一環として、管理者にとって Confluence 内で最も大きいページ (ディスク容量のフットプリントの観点から) を見つけることが役立つ場合があります。これは、各ページの保存形式のバイト長をデータベースに問い合わせることで実現できます。

ソリューション

後述の SQLクエリ、特に 2 つ目のクエリは、かなり長い時間を要する可能性があります。BODYCONTENT テーブルに約 300 K行を含む MySQL のテスト用インスタンスでは、2つ目のクエリが完了するまでに約 3 分を要しました。大規模な Confluence の場合には、本番環境への影響を避けるために、本番データベース自体に対してではなく、本番データベースのクローンに対して実行することをお勧めします。

Confluence データベースの設定により、2 つのクエリを使用する必要があります。最初のクエリは現在のページのサイズのみを見て、2 つ目のクエリはすべての履歴ページ(現在のページは含まない) の合計です。 これらはそれぞれ、データベースで最も多くのスペースを占めている上位 25 件のページを (バイト長で) 返します。

現在のページ (過去のバージョンは除く) で最も大きい上位 25 ページを取得する

SELECT s.spacekey, c.title, LENGTH(bc.body)
FROM BODYCONTENT bc
JOIN CONTENT c ON bc.contentid = c.contentid
JOIN SPACES s ON c.spaceid = s.spaceid
WHERE c.prevver IS NULL AND c.contenttype IN ('BLOGPOST','PAGE')
ORDER BY LENGTH(bc.body) DESC LIMIT 25; 

履歴のバージョン サイズの合計が最も大きい上位 25 ページを取得する

SELECT s.spacekey, c.title, subq.sum_size_in_bytes
FROM CONTENT c
JOIN SPACES s ON c.spaceid = s.spaceid
JOIN (
	SELECT c2.prevver, SUM(LENGTH(bc.body)) AS sum_size_in_bytes
	FROM BODYCONTENT bc
	JOIN CONTENT c2 ON bc.contentid = c2.contentid
	WHERE c2.prevver IS NOT NULL AND c2.contenttype IN ('BLOGPOST','PAGE')
	GROUP BY c2.prevver
	ORDER BY SUM(LENGTH(bc.body)) DESC LIMIT 25
) AS subq ON c.contentid = subq.prevver
ORDER BY subq.sum_size_in_bytes DESC;

その他

  • これには添付ファイルのサイズは含まれていません。 通常、添付ファイルはファイルシステムの <confluence_home> ディレクトリの保存され、データベースにはメタデータ情報 (ごくわずか) しか含まれていません。
  • 上記は MySQL でテストしたものです。お使いの DBMS に合わせてクエリを変更する必要がある場合があります。


最終更新日: 2024 年 12 月 19 日

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

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.