Jira Data Center でパフォーマンス向上のためにプロジェクト数を管理する
Jira Data Center のプロジェクト数ガードレールは、インスタンス内のアクティブな (アーカイブされていない) プロジェクトの数を測定します。これらのガードレールは、最適なシステム パフォーマンスとユーザー エクスペリエンスを維持できるように設計されています。
しきい値 | |
|---|---|
最適 | プロジェクト数が 5,250 未満 |
APPROACHING LIMIT (上限に接近) | プロジェクト数が 5,250 ~ 7,000 |
EXCEEDING LIMIT (上限を超過) | プロジェクト数が 7,000 より多い |
プロジェクト数はパフォーマンスにどのように影響しますか?
プロジェクト数の推奨制限を超えると、Jira Data Center インスタンスにいくつかの悪影響が及ぶ可能性があります。主な影響は次のとおりです。
システム リソース消費量の増加
権限の計算にかかる時間が増大する
インデックス再作成にかかる時間が増大する
システム全体のパフォーマンスが低下する
ユーザー エクスペリエンスの低下 (特に、検索やとダッシュボードの読み込み中)
プロジェクト数が推奨制限を超える場合、Jira は引き続き使用できますが、特にインスタンスが大きくなるにつれて、このようなパフォーマンスの問題が発生する可能性があります。
推奨事項
最適なパフォーマンスを確保するには、アクティブなプロジェクトの数をガードレールの制限以下に減らすことを目指してください。プロジェクト数を抑えるためにできることは次のとおりです。
クリーンアップするプロジェクトを特定する
非アクティブなプロジェクトをアーカイブする
不要なプロジェクトを削除する
プロジェクトの保持ポリシーを実装する
クリーンアップするプロジェクトを特定する
SQL クエリを使用してプロジェクトを確認する
SQL クエリでプロジェクトのリストを取得するには、次の手順に従います。
SQL クエリをコピーして、データベースで実行します。
COPY (
WITH rank_created AS (
SELECT project,
created,
RANK() OVER (PARTITION BY I.project ORDER BY I.created DESC) AS ranking
FROM jiraissue I
),
rank_updated AS (
SELECT project,
updated,
RANK() OVER (PARTITION BY I.project ORDER BY I.updated DESC) AS ranking
FROM jiraissue I
),
count_issues AS (
SELECT project,
COUNT(*) AS "Total issues (inc. archived)"
FROM jiraissue j
GROUP BY project
),
users AS (
SELECT user_name,
lower_user_name,
email_address,
U.active,
RANK() OVER (PARTITION BY U.user_name ORDER BY D.directory_position) AS ranking
FROM cwd_user U
JOIN cwd_directory D ON U.directory_id = D.id
AND D.active = 1
)
SELECT P.pname AS "Project name",
P.pkey AS "Project Key",
U.user_name AS "Project Lead (PL)",
U.email_address AS "PL email",
U.active AS "PL account active",
RC.created,
RU.updated,
CI."Total issues (inc. archived)",
TO_TIMESTAMP(CAST(A."ENTITY_TIMESTAMP" AS BIGINT) / 1000) AS "Project created"
FROM project P
JOIN "AO_C77861_AUDIT_ENTITY" A ON "ACTION" = 'Project created'
AND A."PRIMARY_RESOURCE_ID" = CAST(P.id AS VARCHAR)
JOIN app_user AU ON AU.user_key = P."lead"
JOIN users U ON U.lower_user_name = AU.lower_user_name
AND U.ranking = 1
LEFT JOIN rank_created RC ON RC.project = P.id
AND RC.ranking = 1
LEFT JOIN rank_updated RU ON RU.project = P.id
AND RU.ranking = 1
LEFT JOIN count_issues CI ON CI.project = P.id
WHERE P.id NOT IN (
SELECT entity_id
FROM propertyentry
WHERE property_key = 'jira.archiving.projects'
)
)
TO '/tmp/csv_export.csv' (FORMAT CSV);
2. 返されたプロジェクトのリストを確認して、アーカイブまたは削除の対象となる候補を特定します。
プロジェクトを手動で確認する
Jira でプロジェクトを表示することもできますが、この方法では、プロジェクト数が多いインスタンスの場合に時間がかかる可能性があります。
Jira でプロジェクトを表示するには、次の手順を実行します。
[管理] > [プロジェクト] に移動します。
検索とフィルター オプションを使用して、アーカイブまたは削除の対象となる候補を特定します。
非アクティブなプロジェクトをアーカイブする
もうアクティブではないが、貴重な履歴データが含まれている可能性があるプロジェクトをアーカイブすることをお勧めします。プロジェクトをアーカイブするには、次の手順を実行します。
[管理] > [プロジェクト] に移動します。
アーカイブするプロジェクトを見つけます。
[...] メニューを選択し、[アーカイブ] を選択します。
アクションを確認します。
プロジェクトをアーカイブすると、そのプロジェクトは Jira のほとんどの領域で制限され、表示されなくなりますが、そのデータは保持され、必要に応じて復元できます。課題が読み取り専用になり、パフォーマンスを向上させるためにプロジェクトがインデックス化から削除されます。
一括アーカイブの場合は、アーカイブ API の使用を検討してください。
プロジェクトのアーカイブの詳細をご確認ください。
不要なプロジェクトを削除する
プロジェクトが不要になり、貴重な履歴データも含まれていない場合は、削除を検討してください。
プロジェクトを削除する手順は次のとおりです。
[管理] > [プロジェクト] に移動します。
削除するプロジェクトを見つけます。
[...] メニューを選択し、[削除] を選択します。
アクションを確認します。
削除したプロジェクトは元に戻せません。バックアップを取ってから続行してください。
一括削除の場合は、プロジェクトの一括削除方法を使用します。
プロジェクトの保持ポリシーを実装する
将来的に不要なプロジェクトが蓄積されることを防ぐために、組織内でプロジェクト保持基準を確立して実施してください。次のような手順を考慮してください。
プロジェクト保持の基準を定義する (プロジェクトの経過期間、直近のアクティビティ日付、課題の件数など)。
定期的なレビューをスケジュールして (例: 四半期ごと)、アーカイブまたは削除の対象となるプロジェクトを特定します。
Jira の REST API を使用して、可能な場合はプロセスを自動化します。
プロジェクトの数を定期的に監視して、推奨制限内に収まるようにします。
このページを使用して、アーカイブされたプロジェクトとアーカイブされていないプロジェクトをデータベースの SQL クエリで識別する方法をご確認ください。
プロジェクト数がガードレール制限に近づいたときに管理者に通知するために、アラートまたは定期レポートの設定を検討してください。
プロジェクトを大規模に管理するためのベスト プラクティス
プロジェクトの命名規則を使用して、プロジェクトの目的と所有権を簡単に特定できるようにします。
プロジェクト リクエストと承認プロセスを実装して、プロジェクト作成を管理します。
適切な所有権を確保するために、プロジェクト リードの割り当てを定期的に確認および更新します。
プロジェクト カテゴリを利用して関連プロジェクトをグループ化し、管理しやすくします。
関連作業のために個別のプロジェクトを作成するのではなく、Jira Software の Advanced Roadmaps を複数プロジェクトのビューに使用することを検討します。