パフォーマンスおよび拡張のテスト

Jira の各リリースにおいて、アトラシアンは最新の Jira バージョンと以前のバージョンでのパフォーマンスの比較を行い、パフォーマンスと拡張に関するレポートを公開しています。このレポートには、さまざまなデータ ディメンション (カスタム フィールド、課題、プロジェクトなどの数) による Jira への影響に関する結果が記載されているため、Jira の拡張で最良の結果を実現するために制限すべきデータ ディメンションの判断に役立ちます。

これは Jira 9.9 のレポートです。他のバージョンに関するレポートをお探しの場合は、画面の右上隅でご希望のバージョンを選択してください。

はじめに

一部の Jira 管理者は、Jira の拡張方法を検討する際に、単一の Jira インスタンスが保有できる課題の数に焦点を当てがちです。しかし、Jira インスタンスの拡張性を決める要因は、課題の数だけではありません。大規模なインスタンスのパフォーマンスを理解するには、複数の要因を検討する必要があります。

このページでは、異なるバージョンや設定における Jira のパフォーマンスについてご説明します。お客様がニーズの拡大に合わせて Jira を拡張する方法を理解しようとする新人の Jira エバリュエータであっても、Jira を次のレベルに進めることに関心を持つ経験豊富な Jira 管理者であっても、このページが役に立つでしょう。

次の 2 つも主なアプローチを組み合わせ、組織全体で Jira を拡大することができます。  

  1. 単一の Jira インスタンスを拡張する
  2. クラスタ化されたマルチノード設定で Jira Data Center を使用する

ここでは、Jira を最大限に活用するための、両アプローチに共通する手法をご説明します。Jira Data Center のその他の情報や、Jira Data Center による同時実行の負荷下でのパフォーマンスの改善については、「Jira Data Center」ページをご参照ください。

1 つの Jira インスタンスのスケールを決定する

Jira の柔軟性は、ご利用の構成に多大なる多様性をもたらします。アナリティクス データによると、ほぼすべてのお客様のデータ セットが、それぞれ独自の特性を持っています。Jira インスタンスが異なれば、その規模が拡大する上でのデータ ディメンションの比率も異なります。いくつかのディメンションが他のディメンションより大幅に大きくなることも頻繁に起こります。課題数が急速に増加する一方で、プロジェクト数が一定数を維持する場合もあれば、カスタム フィールド数が非常に多くても課題数は少ない場合もあります。

多くの組織には独自のプロセスやニーズがあります。これらのさまざまなユース ケースをサポートできる Jira の能力が、データ セットの多様性の理由となっています。ただし、各データ ディメンションは Jira の速度に影響を与える可能性があります。多くの場合、これらの影響は一定または直線的ではありません。

最適なエクスペリエンスを提供して、パフォーマンスの低下を避けるためには、特定のデータ ディメンションが速度にどう影響するかを理解することが重要です。

ご利用の組織で Jira のパフォーマンスに影響を与える可能性がある要因は複数あります。こうした要因は、次のようなカテゴリーに分類されます (順不同)。

  • データ サイズ (次に示す項目の数):
    • issues
    • コメント
    • attachments
    • プロジェクト
    • プロジェクト属性 (カスタム フィールド、課題タイプ、スキームなど)
    • 登録されたユーザーとグループ
    • ボード
    • 任意のボード上の課題 (Jira Software の場合)
  • 使用パターン (次に示す項目の数または規模):
    • Jira に同時にログインしているユーザー
    • 同時操作
    • メール通知
  • 設定 (次に示す項目の数):
    • プラグイン (一部は独自のメモリ要件を持っている場合がある)
    • ワークフロー ステップの実行 (トランジションや事後操作など)
    • ジョブとスケジュールされたサービス
  • デプロイ環境:
    • 使用している Jira のバージョン
    • Jira を実行しているサーバー
    • 使用しているデータベースとデータベースへの接続性
    • オペレーティング システム (そのファイル システムを含む)
    • JVM 設定

次のセクションでは、データベースに保存されているデータのサイズや特徴によって、Jira の速度がどのように影響を受けるかをご説明します。

テスト手法

まずは、パフォーマンス テストで採用したテスト方法と、使用したテスト環境のハードウェア仕様をご説明します。

テスト データ セット

テストを開始する前に、一般的な大規模な Jira インスタンスを表すデータ セットのサイズと形状を決定する必要がありました。

これを実現するために、アナリティクス データを収集して、お客様の環境や、大規模な組織で Jira を拡張する際に直面する問題の概要を把握しました。次に、テストに含まれる各データ ディメンションの 999 番目のパーミルの値を四捨五入して、内部データ生成ソリューションでランダムなテスト データ セットを生成しました。

Jira 9.8.0 以前は Data Generator for Jira を使用していました。ただし、パフォーマンス テストの結果をお客様の実際のシナリオに近づけるために、より積極的に保守されている新しいデータ生成ツール (社内専用) に切り替えることにしました。

次の表は、各データ ディメンションの正確な要素数を示しています。

データ ディメンション

アジャイル ボード

1450

添付ファイル

660,00

コメント

2,900, 000

カスタム フィールド

1400

グループ

22,500

課題

1,000, 000

権限

200

プロジェクト

1500

セキュリティ レベル

170

ユーザー

100,000

ワークフロー

1500

実行した操作

次の表は、テスト ペルソナのシナリオに含まれるアクションの割合を示しており、テスト中に各アクションが実行された回数の割合を表しています。「アクション」とは、課題を開くこと、コメントの追加、ブラウザー ウィンドウでのバックログ表示など、完全な操作を意味します。

操作

最小

たとえば、この個人を Max とします。

コメントを追加

5.4%

6.5%

ボードの参照

7.6%

8.3%

プロジェクトの参照

7.5%

8.1%

変更履歴の検索

5.4%

6.5%

課題の作成

7.3%

7.9%

課題の編集

5.2%

6.5%

ログイン

0.3%

0.3%

プロジェクトの要約

7.3%

7.9%

簡易検索

7.5%

8.1%

課題ナビゲーション ビューの切り替え

13.5%

14.0%

バックログを表示

7.3%

7.9%

ボードの表示

7.3%

7.9%

ダッシュボードの表示

7.6%

8.2%

課題の表示

5.8%

6.8%

テスト環境

パフォーマンス テストは、eu-central-1 リージョンにデプロイされた一連の EC2 インスタンス上ですべて実行しました。テストごとに、環境全体のリセットと再ビルドを行いました。各テストは、インスタンス キャッシュをウォームアップするための数回のアイドル サイクルから開始しました。

テストを実行するために、スクリプトを組んだブラウザー 20 個を使用して、アクションの実行にかかる時間を計測しました。各ブラウザーのスクリプトは、定義済みのアクション リストからランダムにアクションを実行して、ただちに次のアクションに移る (つまり思考時間がゼロになる) ように記述されていました。これによって、各ブラウザーは実際のユーザーよりも大幅に多くのタスクを実行します。ブラウザー数が実際の同時実行ユーザー数と等しくなるとは解釈できないため、ご注意ください。

各テストを 20 分間行ったあと、統計情報を収集しました。

Jira Server 環境の構成内容:

  • Jira ノード 1 つ
  • 別のノード上にあるデータベース
  • 別のノード上にあるロード ジェネレーター

Jira Data Center 環境の構成内容:

  • Jira ノード 2 つ
  • 別のノード上にあるデータベース
  • 別のノード上にあるロード ジェネレーター
  • 別のノード上にある共有ホーム ディレクトリ
  • ロード バランサー (ELB HTTP ロード バランサー)

Jira Server と Jira Data Center でパフォーマンス テストを実行するために使用した各 EC2 インスタンスのハードウェア仕様の簡単な要約を次に示します。

Jira

ハードウェア

ソフトウェア

EC2 タイプ

c5d.9xlarge (EC2 タイプ)

Jira Server: 1 ノード

Jira Data Center: 2 ノード

Operating system

Ubuntu 20.04LTS

CPU のタイプ

3.0 GHz Intel Xeon Platinum 8000-series

Java プラットフォーム

Java 1.8.0

CPU コア数

36

Java オプション

16 GB ヒープ サイズ

メモリ

72 GB

ディスク

900 GB NVMe SSD

データベース

ハードウェア

ソフトウェア

EC2 タイプ

c5d.9xlarge ( EC2 タイプ )

Operating system

Ubuntu 20.04LTS

CPU のタイプ

Intel Xeon E5-2666 v3 (Haswell)

データベース

MySQL 5.7.32

CPU コア数

36

メモリ

72 GB

ディスク

EBS 100 GB gp2

ロード ジェネレーター

ハードウェア

ソフトウェア

EC2 タイプ

c5d.9xlarge (EC2 タイプ)

Operating system

Ubuntu 20.04LTS

CPU のタイプ

Intel Xeon E5-2666 v3 (Haswell)

Java プラットフォーム

Java JDK 8u162

CPU コア数

36

その他のソフトウェア

Google Chrome (最新の安定したバージョン)

Chromedriver (最新の安定したバージョン)

WebDriver 3.141.59

メモリ

72 GB

ディスク

EBS 30 GB gp2

結果

このセクションでは、さまざまな設定値の相対的な影響を調査するために実施した、すべての拡張性テストの結果をご説明します。テスト プロセスは次のとおりです。

  1. テストの参考として、上述したベースライン テスト データ セットを含む Jira インスタンスを使用して、パフォーマンス テスト サイクル全体を実行しました。 
  2. データ ディメンションとそれらのパフォーマンスへの影響に焦点を当てるため、個々のアクションをテストする代わりに、パフォーマンス テストのすべてのアクションの平均値を算出しました。
  3. 次に、ベースライン データ セットで各属性を 2 倍にして、2 倍になった各値に対して、独立したパフォーマンス テストを実施しました (つまり、課題数を 2 倍、またはカスタム フィールド数を 2 倍にしてテストを実行)。一方で、ベースライン データ セットのその他のすべての値は変更しませんでした。ノイズを減らすために、結果が収束するまでテストを繰り返し行い、結果のプールに新しいサンプルが追加されるたびに、その類似性を比較しました。
  4. 次に、2 倍にしたデータ セット テスト サイクルの応答時間を参照結果と比較しました。このアプローチによって、個別の Jira 構成アイテムのサイズの増加が (すでに大規模な) Jira インスタンスの速度にどのように影響するかを、隔離した環境で観測できました。

Jira 9.9.0 と Jira 9.8.0 を比較したデータセットごとの応答時間を次に示します。

データセットごとの応答時間 (Jira 9.9.0 vs Jira 9.80)

その他のリソース

Jira の拡張と最適化について詳しく知りたい場合は、その他のリソースもご参考ください。

課題をアーカイブする

課題の数は Jira のパフォーマンスに影響するため、不要になった課題のアーカイブが望ましい場合があります。また、Jira のビューに多数の課題が表示され、不要になった古い課題をインスタンスからアーカイブしたい場合があります。「プロジェクトのアーカイブ」を参照してください。

ユーザー管理

Jira ユーザー ベースが増加すると、以下を確認する必要が出る場合があります。

Jira ナレッジベース

パフォーマンス関連のトピックの詳細なガイドラインについては、Jira ナレッジベースの「Jira サーバーのパフォーマンスの問題のトラブルシューティング」の記事を参照してください。

Jira エンタープライズ サービス

For help with scaling Jira in your organization directly from experienced Atlassians, check out our Additional Support Services offering.

ソリューションパートナー

お住まいの地域のアトラシアン エキスパートも、お客様の環境での Jira の拡大をサポートできます。 

最終更新日: 2023 年 12 月 7 日

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

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