パフォーマンスおよび拡張のテスト
私たちは、パフォーマンス レポートの品質を継続的に進化させ、向上させることに取り組んでいます。このレポートでは、Jira Software Data Center の最新の 10.3 長期サポート (LTS) リリースにおけるパフォーマンス メトリックの包括的な概要を示します。
長期サポート リリースについて
Jira Software を定期的にアップグレードすることをお勧めします。ただし、組織のプロセスによって年に 1 回程度しかアップグレードできない場合は、長期サポートリリースへのアップグレードが良い選択肢となります。これにより、該当するバージョンのサポート終了まで、クリティカルなセキュリティ、安定性、データ整合性、パフォーマンスの修正に継続的に対応できるようになります。
要約
Jira Software Data Center 10.3 LTS では、NFR しきい値を使用してパフォーマンスをより正確にキャプチャし、エンド ユーザーのエクスペリエンスをより厳密に模倣する、新しいパフォーマンス テスト フレームワークを導入しました。
すべての顧客に達成可能なパフォーマンスしきい値を提供できるよう、アトラシアンのテストは、最小限の推奨ハードウェア上で、特大規模のコホートを模倣したデータセットを使用して実施しています。
すべてのアクションが NFR しきい値内に収まるように、定期的に内部パフォーマンス テストを実施しています。継続的にモニタリングすることで、パフォーマンスを最適化できるだけでなく、回帰に効果的に対応することもできます。
バージョン 9.12 と 10.3 で同等のセットアップを使用して新しいフレームワークのテストを実施しましたが、回帰は見つかりませんでした。
以下のレポートは、最適ではないデータ形状またはハードウェアを使用して実施したテスト結果を示しています。レポートに示されているのは、Jira のピーク パフォーマンスではなく、特大規模のコホートの顧客における一般的な Jira インスタンスのパフォーマンスです。
レポートではさらに、このテストで示された結果を上回るパフォーマンスを実現するためのインスタンスの最適化に関するガイダンスも提供しています。パフォーマンスおよびスケーリングの詳細をご確認ください。
要約
Jira 10.3 リリースでは、重要なユーザー アクションの非機能要件 (NFR) しきい値に焦点を当てた新しいフレームワークを通じて、パフォーマンス テストの結果を公開しています。これらのしきい値が、信頼性、応答性、スケーラビリティのベンチマークとなり、当社のシステムが期待されるパフォーマンス基準を確実に満たせるようにしています。当社は、製品に大きな影響を与える機能を提供することに成功し、パフォーマンスの低下に一貫して対応することで、すべての NFR テストに合格しました。製品が進化し、拡張しても、パフォーマンスの最適化と維持に引き続き注力していきます。
テストの概要
テスト手法
テスト シナリオはすべて、スクリプト ブラウザを使用して同時に実行しました。各ブラウザは、シナリオごとに 1000 件以上の結果が収集されるまで、タイムアウトなしで、以下のシナリオのいずれかを繰り返し実行するようにスクリプト化しました。
テスト環境
パフォーマンス テストは、eu-west-1
リージョンにデプロイされた一連の AWS EC2 インスタンス上ですべて実行しました。テスト対象の Jira インスタンスは、すぐに使える Jira Data Center の新規インストールを追加構成なしで単一ノードとしてセットアップしたものです。このアプローチにより、必要に応じてノードを追加してパフォーマンスを向上させながら、基本的なセットアップで十分なパフォーマンスを確保することができました。
Jira Software Data Center で使用された環境の詳細と、EC2 インスタンスの仕様を次に示します。新しいテスト フレームワークの導入により、ハードウェアのサイズが縮小されているものと、拡大されていないものがあります。
ハードウェア | ソフトウェア | ||
EC2 タイプ: | c5d.9xlarge | Operating system | Ubuntu 20.04.6 LTS |
ノード | 1 ノード | Java プラットフォーム | Java 17.0.11 |
データベース
ハードウェア | ソフトウェア | ||
EC2 タイプ: | db.m5.4xlarge | データベース: | Postgres 14 |
オペレーティング システム: | Ubuntu 20.04.6 LTS |
ロード ジェネレーター
ハードウェア | ソフトウェア | ||
CPU コア: | 2 | ブラウザ: | ヘッドレス Chrome |
メモリ | 8 GB | 自動化スクリプト: | Playwright |
テスト データ セット
テストを開始する前に、一般的な大規模 Jira Software インスタンスを表すデータセットのサイズと形状を決定する必要がありました。その目的のために、非常に大規模な組織における Jira Software のインスタンス プロファイルにより正確に一致するデータセットを新たに作成しました。
データは、顧客の実際のインスタンスから受け取った匿名の統計に基づいて収集されました。機械学習 (クラスタリング) アルゴリズムを使用して、データを小、中、大、特大インスタンスのデータ形状にグループ化しました。テストでは、特大インスタンスから収集した中央値を使用することにしました。
新しいデータセットでは、リリース パフォーマンス レポートの作成に以前使用されていたデータセットと比較して、課題、コメント、添付ファイル、プロジェクト、アジャイル ボード、ワークフローの数など、いくつかのディメンションが大幅に増加しています。一部のディメンションはわずかに減少していますが、新しい値は顧客の実際の統計をより正確に反映しているか、アトラシアンのガードレールと一致しています。
Jira 10.1 では、テスト データセットのサイズを改善するために使用する基本的なデータセットをインスタンスから送信できる新機能を導入しました。データセットを改善するためにインスタンスの匿名化された情報を送信する方法の詳細をご確認ください。
次のテーブルは、テストで使用したデータセットを表しています。これは、特大規模の顧客のコホートにおける一般的なデータ形状をシミュレートしています。
データ | 値 |
---|---|
アジャイル ボード | 2,861 |
添付ファイル | 2,100, 000 |
コメント | 8,408, 998 |
カスタム フィールド | 1200 |
グループ | 20006 |
課題 | 5,407, 147 |
権限 | 200 |
プロジェクト | 4,299 |
セキュリティ レベル | 170 |
ユーザー | 82,725 |
ワークフロー | 4,299 |
テストの結果
NFR テスト
今年は、主要なユーザー アクションの非機能要件 (NFR) しきい値に焦点を当てたフレームワークに基づく一連のテスト シナリオを導入しました。
測定されたアクションごとに、目標しきい値を設定しました。アクションのタイプに応じて設定したこれらのしきい値は、信頼性、応答性、スケーラビリティのベンチマークとなり、当社の製品が期待されるパフォーマンス基準を確実に満たせるようにしました。当社では、パフォーマンスの低下を招かないようにし、製品の品質と信頼性を維持するよう努めています。
このレポートで概説されているしきい値は、当社が達成しようとしている目標ではなく、特大規模のインスタンスで許容されるパフォーマンスの下限を表していることを明確にすることが重要です。比較的小規模な顧客のパフォーマンスは大幅に向上する可能性があり、向上させる必要があります。
アクションのタイプ | 応答時間 | |
---|---|---|
50thPercentile | 90thPercentile | |
ページの読み込み | 3 秒 | 5 秒 |
ページのトランジション | 2.5 秒 | 3 秒 |
アクションのパフォーマンスは、アクションの開始時 (たとえば、「表示」アクションでブラウザ ナビゲーションが開始された時、フォームが送信された時) から、アクションが実行されて重要な情報が表示された時 (たとえば、「課題を表示」アクションで課題の要約、説明、アクティビティが表示された時) までの時間に測定されたものとして定義しました。このアプローチにより、エンド ユーザーが認識するパフォーマンスをより正確に測定できるようになりました。
所要時間は以下のように解釈します。
50 パーセンタイル - 特大規模インスタンスの大半のユーザーの平均パフォーマンスを明確に把握できます。極端な外れ値の影響が少ないため、所要時間の中心傾向が示されます。
90 パーセンタイル - 最悪のシナリオのパフォーマンスを示し、特大規模インスタンスのユーザーより小規模ではあるが注目に値するユーザーに影響を与える可能性があります。
注意:
すべてのアクションが NFR しきい値内に収まるように、定期的に内部パフォーマンス テストを実施しています。継続的にモニタリングすることで、パフォーマンスを最適化できるだけでなく、回帰に効果的に対応することもできます。
すべてのアクションのエラー率が 0% でした。これは、システムの信頼性と安定性が高いことを示しています。以前の 9.12 LTS 以降に解決されたバグの一覧については、Jira Software 10.3 LTS リリース ノートを参照してください。
全体的な結果は以下の通りです。
10.3 LTS では、以下のすべてのアクションが合格 (PASS) ステータスを達成しました。
操作 | 応答時間 | 目標しきい値 | 達成されたパフォーマンス |
---|---|---|---|
コメントを追加 | 90thPercentile | 5000ms | 789ms |
50thPercentile | 3000ms | 630ms | |
高度な JQL - 担当者で検索 | 90thPercentile | 5000ms | 1081ms |
50thPercentile | 3000ms | 983ms | |
高度な JQL - 優先度で検索 | 90thPercentile | 5000ms | 2321ms |
50thPercentile | 3000ms | 2125ms | |
高度な JQL - プロジェクトで検索 | 90thPercentile | 5000ms | 1026ms |
50thPercentile | 3000ms | 902ms | |
高度な JQL - プロジェクトとユーザーで検索 | 90thPercentile | 5000ms | 1213ms |
50thPercentile | 3000ms | 732ms | |
高度な JQL - 報告者で検索 | 90thPercentile | 5000ms | 899ms |
50thPercentile | 3000ms | 825ms | |
高度な JQL - 解決状況で検索 | 90thPercentile | 5000ms | 822ms |
50thPercentile | 3000ms | 749ms | |
高度な JQL - 単語で検索 | 90thPercentile | 5000ms | 2415ms |
50thPercentile | 3000ms | 2231ms | |
ボードの参照 | 90thPercentile | 5000ms | 608ms |
50thPercentile | 3000ms | 572ms | |
プロジェクトの閲覧 | 90thPercentile | 5000ms | 669ms |
50thPercentile | 3000ms | 634ms | |
課題の作成 | 90thPercentile | 3000ms | 838ms |
50thPercentile | 2500ms | 828ms | |
課題の編集 | 90thPercentile | 3000ms | 718ms |
50thPercentile | 2500ms | 595ms | |
バックログでのスプリントの編集 | 90thPercentile | 3000ms | 425ms |
50thPercentile | 2500ms | 403ms | |
基本検索 - 担当者で検索 | 90thPercentile | 5000ms | 1127ms |
50thPercentile | 3000ms | 1037ms | |
サイドバー (課題ビュー) | 90thPercentile | 5000ms | 1285ms |
50thPercentile | 3000ms | 1205ms | |
バックログを表示 | 90thPercentile | 5000ms | 1065ms |
50thPercentile | 3000ms | 1018ms | |
ボードの表示 | 90thPercentile | 5000ms | 1083ms |
50thPercentile | 3000ms | 1039ms | |
ダッシュボードの表示 | 90thPercentile | 5000ms | 436ms |
50thPercentile | 3000ms | 414ms | |
プロジェクトの要約の表示 | 90thPercentile | 5000ms | 496ms |
50thPercentile | 3000ms | 469ms | |
課題の表示 | 90thPercentile | 5000ms | 821ms |
50thPercentile | 3000ms | 710ms |
9.12 LTS 以降に回帰がないことを確認
新旧のテスト フレームワークの結果を比較することは、使用するデータセットの違いやシナリオの実装の詳細など、テスト アプローチに違いがあるため困難です。
Java 17 を搭載した Jira バージョン 9.12.16 で、より要求の厳しい新たなデータセットを使用して、同一の環境で同じテスト シナリオのサンプル バッチを実行しました。このアプローチにより、新しいテスト フレームワーク内で結果を比較できるようになりました。
同じ方法でテストしたところ、Jira Software バージョン 10.3.0 では、バージョン 9.12.16 と比較して回帰は見られませんでした。
スケーリングと最適化に関するその他のリソース
Jira の拡張と最適化について詳しく知りたい場合は、その他のリソースもご参考ください。
課題をアーカイブする
課題の数は Jira のパフォーマンスに影響するため、不要になった課題のアーカイブが望ましい場合があります。また、Jira のビューに多数の課題が表示され、不要になった古い課題をインスタンスからアーカイブしたい場合があります。プロジェクトのアーカイブの詳細をご確認ください。
Jira Software のガードレール
製品ガードレールとはデータ タイプに関する推奨事項のことであり、潜在的なリスクを特定してインスタンス最適化ジャーニーの次のステップに関する意思決定をサポートするように設計されています。Jira Software のガードレールの詳細をご確認ください。
Jira ナレッジベース
パフォーマンス関連のトピックの詳細なガイドラインについては、Jira ナレッジベースの「Jira サーバーのパフォーマンスの問題のトラブルシューティング」の記事を参照してください。
Jira エンタープライズ サービス
お客様の組織内の Jira のスケーリングを経験豊富なアトラシアン社員が直接サポートする方法については、追加サポート サービスをご覧ください。
ソリューションパートナー
お住まいの地域のアトラシアン エキスパートも、お客様の環境での Jira の拡張をサポートできます。