Jira Data Center でメール キュー サイズを管理する
メール キュー サイズ メトリックは、Jira ユーザーへの送信を待機している通知メールの数を表します。Jira Data Center 環境では、このキューはすべてのノードにわたって管理され、課題の更新やその他の重要な情報をユーザーにタイムリーに伝達するために不可欠です。
しきい値 | |
|---|---|
最適 | キュー内のメールが 50 件未満 |
注意が必要 | キュー内のメールが 50 ~ 99 件 |
NEEDS ATTENTION (要注意) | キュー内のメールが 100 件以上 |
メール キュー サイズは Jira Data Center のパフォーマンスにどのように影響するか
メール キュー サイズが大きいと、いくつかの点で Jira Data Center インスタンスに大きな影響を及ぼす可能性があります。
課題の更新に関するユーザーへの通知が遅れる
ユーザーがタイムリーな情報を受け取れないため、生産性が低下する可能性がある
Jira で大量のメールのバックログの処理が試みられるため、システム負荷が増大する
パフォーマンス問題または構成ミスが内在する可能性がある
メール キュー サイズが常に大きいと、ユーザー エクスペリエンスが低下し、Jira Data Center クラスター全体でシステム パフォーマンス問題が発生する可能性があります。メール キュー サイズの詳細については、こちらをご確認ください。
推奨事項
最適なパフォーマンスを実現するには、メール キュー サイズをメール 50 件未満に保つことを目指してください。キュー サイズが常にこのしきい値を超えている場合は、次のアクションを検討してください。
メール キューをフラッシュする
メール キュー サービスをリセットする
ネットワーク接続をチェックする
送信メール サーバー設定を確認する
メール通知設定を最適化する
Jira/Service Management Server/Data Center で低速な通知/通知のスタックの問題のトラブルシューティングを行う方法の詳細をご確認ください。
メール キューをフラッシュする
メール キューを手動でフラッシュすると、一時的なバックログをクリアし、通知をタイムリーに配信するのに役立ちます。
メール キューをフラッシュするには、次の手順に従います。
[管理] > [システム] > [メール キュー] に移動します。
[メール キューのフラッシュ] を選択します。
キュー サイズを監視して、フラッシュ後にサイズが小さくなることを確認します。
重要な考慮事項:
フラッシュ後にキュー サイズが小さくならなくても、繰り返しフラッシュを試行しないでください。フラッシュを繰り返すと、より多くのスレッドが生成され、パフォーマンス問題が発生する可能性があるためです。
Data Center 環境では、必要に応じて各ノードでこのアクションを実行してください。
メール キューの管理の詳細については、こちらをご確認ください。
メール キュー サービスをリセットする
メール キュー サービスをリセットすると、一時的なデータベース接続問題に伴って発生した問題を解決するのに役立ちます。
メール キュー サービスをリセットするには、次の手順に従います。
[管理] > [システム] > [サービス] に移動します。
メール キュー サービスを探して、[編集] を選択します。
値を変更せずに、[更新] を選択します。
5 分間待ちます。
メール キュー サイズが自動的に小さくなるかどうかを確認します。
ネットワーク接続をチェックする
Jira Server と SMTP メール サーバーの間のネットワーク接続が悪いと、メール バックログが発生する可能性があります。
ネットワーク接続を確認するには、次の手順に従います。
Jira Server から SMTP サーバーへの ping テストを実行します。
traceroute を実行して、ネットワークのボトルネックを特定します。
ネットワーク チームに、ファイアウォールやルーティングに関する問題がないことを確認します。
ネットワークに関する問題が特定された場合は、次の手順に従います。
ネットワーク チームと協力して、Jira と SMTP サーバー間の接続を最適化します。
SMTP サーバーがリモートの場合は、ローカル メール リレーの実装を検討します。
送信メール サーバー設定を確認する
間違った送信メール サーバーの設定は、キューにメールが滞留する原因となります。
メール サーバー設定を確認して最適化するには、次の手順に従います。
[管理] > [システム] > [送信メール] の順に移動します。
タイムアウト値が 0 に設定されていないことを確認します (無期限に待機する原因になります)。
サーバーの詳細 (ホスト名、ポート、プロトコル) が正しいことを確認します。
「テスト メールを送信」機能を使ってメール サーバーの設定をテストします。
最適化のヒント:
適切なタイムアウト値 (10000 ms など) を設定する
TLS を使用している場合は、証明書の設定が適切であることを確認する
接続数を増やすことを検討する (メール サーバーがサポートしている場合)
Jira の SMTP メール サーバーを構成して通知を送信する方法をご参照ください。
メール通知設定を最適化する
メール通知の全体的な量を減らすことで、メール キューの滞留を防ぐことができます。
メール通知を最適化するには、次の手順に従います。
通知スキームを確認します ([管理] > [課題] > [通知スキーム])。
通知をトリガーするイベントの数を減らします。
メールのバッチ処理を実装します ([管理] > [システム] > [メール通知])。
[メール通知の一括処理] を有効にして、適切な間隔を設定します。
大規模グループのサブスクリプションの場合は、フィルター サブスクリプションを確認します。
メール キュー サービスのスケジュール時間を調整します。
[管理] > [システム] > [サービス] の順に移動します。
メール キュー サービスの [スケジュール] 列の Cron 値を確認します。
毎分実行する (0 * * * * ?) ように設定されていることを確認します。
DNS ルックアップの方法を確認します。
JVM パラメーター -Djava.net.preferIPv4Stack=true を追加して、IPv 6 の代わりに IPv 4 を使用します。
この変更を各 Jira ノードに適用し、再起動して有効にします。
メール通知の設定の詳細については、「メールの通知を設定する」を参照してください。
長期的な監視と予防:
すべてのノードでメール キュー サイズの定期的な監視を実施します。
キュー サイズが一定のしきい値を超えた場合のアラートを設定します。
メール関連の設定とサブスクリプションを定期的に確認して最適化します。
パフォーマンス改善とバグ修正のメリットを享受するため、Jira と Jira プラグインを最新の状態に保ちます。
アトラシアンサポートに連絡する
メール関連操作のデバッグ ログを有効にします。
[管理] > [システム] > [ロギングとプロファイリング] の順に移動します。
[送信メール] セクションで、[有効化] を選択します。
[デバッグを有効化] を選択します。
パッケージ com.atlassian.jira.service のログ レベルを DEBUG に設定します。
十分なログを収集するため、15 分程度待ちます。
ランタイム診断データを含むサポート zip を生成します。
[管理] > [システム] > [トラブルシューティングとサポート ツール] > [サポート zip を作成] の順に移動します。
[zip をカスタマイズ] を選択し、[ランタイム診断データ] がオンになっていることを確認します。
zip を作成してダウンロードします (クラスター内のノードごとにこれを繰り返します)。
各ノードの [管理] > [システム] > [メール キュー] のスクリーンショットを撮ります。
Jira データベースに対して次の SQL クエリを実行します。
クエリ 1
select * from rundetails where job_id = 'com.atlassian.jira.service.JiraService:10000';クエリ 2
select count (*) from filtersubscription where groupname != '';クエリ 3
select count (*) from filtersubscription where groupname = '';
アトラシアン サポートに連絡して、以下を提供します。
すべてのノードのサポート zip
各ノードのメール キューのスクリーンショット
関連する SQL クエリの結果 (元の仕様の「修正方法」セクションに記載されています)