並行インポートを設定する
単一ノードまたはマルチノードの Data Center インスタンスで複数のインポートを同時に実行することで、アセットにおけるデータ インポートの時間を短縮できます。こうしたインポートはスケジュールを設定することも手動で開始することもできるため、スケジュールが設定されている他インポートが実行中でも手動でインポートを開始できます。また、先行するインポートで予想以上に時間がかかっていても、スケジュールが設定されているインポートは時間通りに実行されるため心配はいりません。
専用ノードを使用している場合、すべてのインポートが同じノードで実行されます。
並行インポートの数を調整する
既定では、Jira Service Management ではクラスター全体で最大 5 つの並行インポートを実行できます。クラスターのキャパシティに応じてこの数を調整することも、並行インポートの実行を禁止することもできます。
注意:
- システムをスムーズに稼働させるため、この数をアセットの [並列処理] 設定の数より大きくすることはできません。
- この設定を調整しても Jira を再起動する必要はありません。また、変更はすでに進行中のインポートには影響しません。
この設定を構成するには、次の手順を実行します。
- Jira 管理者としてログインします。
- [管理] > [アプリの管理] > [アセット設定] に移動します。
- [一般設定] セクションで、[並行インポートの最大数] に設定されている数を編集します。
並行インポート設定の調整が推奨される一般的なシナリオについては、以下の表を参照してください。
操作 | ユースケース | 影響 |
---|---|---|
並行インポートの数を増やす 注: インポートではメモリが大量に使用されるため、この数を増やす際には注意してください。 | 並行インポートに現在設定している数よりも多くのインポートを実行するのに十分なシステム メモリがあるため、他のインポートが完了してから並行インポートが開始されるのを待つ必要がない。 | インポート プロセスを増やす場合にはシステム メモリも増やす必要があります。 スケジュールが設定されているインポートと手動インポートは時間通りに実行される可能性が高くなります。 |
並行インポートの数を減らす | システム メモリを他のプロセスに使用したい、または複数のインポートをサポートするのに十分なメモリがない。 | インポート プロセスに必要なシステム メモリが少なくて済みます。 スケジュールが設定されているインポートと手動インポートの開始が遅れる可能性が高くなります。 |
並行インポートをオフにする 注: 並行インポートを無効にするには、[並行インポートの最大数] を 1 に設定してください。 | 大量のメモリを消費する大規模なインポートが複数あり、それらを同時に実行したくない、または特定の順序でインポートを実行したい (たとえば、並行インポートを実行せずに、最初のインポートの後にオブジェクト スキーマでインポートを実行すると、最初のインポートが完了するまで 2 つ目のインポートは開始されません)。 | スケジュールが設定されているインポートと手動インポートが時間通りに実行されない可能性があります。 インポート プロセスでは、並行インポートが可能になる前と同じ量のシステム メモリが使用されます。 |
インポートの進捗とオブジェクトのロック
システムが待機中の場合のみ、インポート プロセス中にいくつかの追加手順があることがわかります。
- 他のインポートを完了する場合
- 他のインポートで現在ロックされているオブジェクト タイプをロックする
これらの追加手順により、インポートを開始する前に完了する予定のインポートの数、またはロックされているオブジェクト タイプの数と進捗がわかります。
並行インポート中は、データの一貫性を高めるために関連するオブジェクト タイプ (以下を参照) がクラスター全体でロックされることに注意してください。
- 現在のインポートで設定されているオブジェクト タイプ
- 現在のインポートで設定されているオブジェクト タイプによって参照されるオブジェクト タイプ (他のスキーマからの参照を含む)
- 現在のインポートで設定されているオブジェクト タイプによって参照されるすべての子オブジェクト タイプ (他のスキーマからの参照を含む)
メモリとパフォーマンス
すべての並行インポートが偶然同じノードで終了した場合でも、アセットの [並列処理] 設定で割り当てられているのと同じ最大 CPU スレッド数を共有しているため、インポートの実行速度が遅くなります。ただし、すべてのインポートで平等にバランスが調整されます。また、このバランス調整のオーバーヘッドはごくわずかであるため、複数のインポートを順次および並行して実行した場合の合計実行時間は同じである点も注目に値します。
トラブルシューティング
複数の大規模なインポート中にメモリが不足した場合は、インポートを無効にしてからメモリを増やすか、インポートを再度有効にする前に並行インポートをオフにすることをおすすめします。