バック プレッシャについて
適用先: Exchange Server 2010 SP2, Exchange Server 2010 SP3
トピックの最終更新日: 2015-03-09
バック プレッシャは、Microsoft Exchange Server 2010 のハブ トランスポート サーバーとエッジ トランスポート サーバーにある Microsoft Exchange Transport サービスのシステム リソース監視機能です。Exchange トランスポートは、使用可能なハード ディスク容量およびメモリなどの重要なリソースが圧迫されている場合にこれを検出し、サービスが使用できなくなることを防ぐ操作を実行できます。
バック プレッシャにより、システム リソースが完全に消費されることが防止され、Exchange は既存のメッセージの配信を試行します。システム リソースの使用率が標準レベルに戻ると、Exchange サーバーは段階的に通常の処理を再開します。
Exchange Server 2007 では、ハブ トランスポート サーバーやエッジ トランスポート サーバーでリソースが圧迫されていると、受信接続が拒否されます。Exchange 2010 では受信接続は受け付けられますが、これらの接続上の受信メッセージは低速で受け付けられるか、拒否されます。SMTP ホストがバック プレッシャ内のハブ トランスポート サーバーまたはエッジ トランスポート サーバーに対して接続しようとすると、接続は成功しますが、ホストが MAIL FROM コマンドによってメッセージを発行する際、圧迫されているリソースによっては、Exchange は MAIL FROM コマンドへの受信確認を遅らせるかこれを拒否します。
トランスポート サーバーの管理に関連する管理タスクについては、「トランスポート サーバーの管理」を参照してください。
目次
監視対象リソース
リソースの圧迫状態で Exchange Transport が実行する処理
EdgeTransport.exe.config ファイルのバック プレッシャ構成オプション
バック プレッシャのログ情報
監視対象リソース
バック プレッシャ機能の一部として、次のシステム リソースが監視されます。
メッセージ キュー データベースを格納するハード ディスクの空き容量
メッセージ キュー データベース トランザクション ログを格納するハード ディスクの空き容量
メモリ内に存在するコミットされていないメッセージ キュー データベース トランザクションの数
EdgeTransport.exe プロセスで使用されているメモリ
他のすべてのプロセスで使用されているメモリ
ハブ トランスポート サーバーまたはエッジ トランスポート サーバー上の監視対象の各システム リソースに対して、次の 3 つのリソース使用率レベルが適用されます。
標準 リソースは適度に使用されています。サーバーは、新しい接続およびメッセージを受け付けます。
中 リソースの使用率が若干高くなっています。サーバーには、限定されたバック プレッシャが適用されます。権限のあるドメイン内の送信者からのメールは処理されます。ただし圧迫されている特定のリソースによっては、サーバーはタールピットを使用してサーバーの応答を遅らせるか、他のソースから受信する MAIL FROM コマンドを拒否します。
高 リソースが過度に使用されています。完全なバック プレッシャが適用されます。すべてのメッセージ フローが停止し、サーバーはすべての新しい受信 MAIL FROM コマンドを拒否します。
次のセクションでは、特定のリソースが圧迫されている場合に、Exchange が状況を処理する方法について説明します。
メッセージ キュー データベース用のハード ディスク空き容量
既定では、メッセージ キュー データベースは C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\data\Queue に格納されています。Exchange は、この場所のハード ディスク空き容量を監視します。次の数式を使用して、ハード ディスク容量の高レベルの使用率が計算されます。
100 * (ハード ディスク サイズ - 固定の定数) / ハード ディスク サイズ
固定定数の値は 500 メガバイト (MB) です。
この数式の結果は、使用されている合計のハード ディスク容量の割合として表されます。数式の結果は、常に最も近い整数に切り捨てられます。既定では、ハード ディスクの中レベルの使用率は、高レベルより 2% 小さい値になります。既定では、ハード ディスクの標準レベルの使用率は、高レベルより 4% 小さい値になります。
メッセージ キュー データベースの詳細については、「トランスポート キューについて」を参照してください。
メッセージ キュー データベース トランザクション ログ用のハード ディスクの空き容量
既定では、メッセージ キュー データベース トランザクション ログは C:\Program Files\Microsoft\ExchangeServer\V14\TransportRoles\data\Queue に格納されます。Exchange は、この場所のハードディスク容量の使用率を監視します。EdgeTransport.exe.config ファイルには、既定値が 512 MB の DatabaseCheckPointDepthMax パラメーターが含まれています。このパラメーターは、ハード ディスク上に存在するコミットされていないすべてのトランザクション ログの許可された合計サイズを制御します。このパラメーターは、ハード ディスクの使用率を計算する数式で使用されます。
注意
DatabaseCheckPointDepthMax パラメーターの値は、ハブ トランスポート サーバーまたはエッジ トランスポート サーバー上に存在するトランスポート関連のすべての Extensible Storage Engine (ESE) データベースに適用されます。これには、メッセージ キュー データベースや IP フィルター データベースが含まれます。
既定では、次の数式を使用して、ハード ディスクの高レベルの使用率が計算されます。
100 * (ハード ディスク サイズ - Max(5 GB, 3*DatabaseCheckPointDepthMax)) / ハード ディスク サイズ
数式の結果は、常に最も近い整数に切り捨てられます。既定では、ハード ディスクの中レベルの使用率は、高レベルより 2% 小さい値になります。ハード ディスクの標準レベルの使用率は、高レベルより 4% 小さい値になります。
メッセージ キュー データベースの詳細については、「トランスポート キューについて」を参照してください。
メモリ内のコミットされていないメッセージ キュー データベース トランザクションの数
メッセージ キュー データベースに加えられた変更の一覧は、それらの変更をトランザクション ログにコミットできるようになるまでメモリ内に保持されます。その時点で、この一覧はメッセージ キュー データベース自体にコミットされます。メモリ内に保持されるこれらの未処理のメッセージ キュー データベース トランザクションを、バージョンのバケットと呼びます。予想以上に大量の受信メッセージ、スパム攻撃、メッセージ キュー データベースの整合性に関する問題、またはハード ディスクのパフォーマンスが原因で、バージョンのバケット数が許容できないほど高いレベルに増加することがあります。
Exchange がメッセージの受信を開始すると、これらのメッセージはバッチにグループ化され、バージョン バケットとして準備されます。受信メッセージの添付ファイルのサイズが大きい場合は、複数のバッチに分けることができます。処理されているこれらのバッチは、バッチ ポイントと呼ばれます。大きな添付ファイルが原因で受信メッセージのサイズが予想以上に大きい場合、未処理のバッチ ポイントが、設定されたしきい値を超える可能性があります。
バージョン バケットやバッチ ポイントが圧迫されている場合、Exchange 2010 トランスポート サーバーは受信メッセージへの受信確認を遅らせることで受信接続の調整を開始します。Exchange はタールピットによって受信メッセージ フロー率を低くし、この結果 MAIL FROM コマンドへの遅延が生じます。リソースが圧迫される状態が引き続き発生する場合は、Exchange は徐々にタールピットの遅延を増やします。リソース使用率が通常に戻ると、Exchange は段階的に受信確認の遅延を減らし、通常の処理に戻していきます。既定では、Exchange はリソースが圧迫されていると、10 秒間のメッセージ受信確認遅延を開始します。リソース圧迫の状態が続くと、遅延は 5 秒単位で最長 55 秒まで増加していきます。
Exchange 2010 は、バージョン バケットとバッチ ポイントのリソース使用率の履歴を保持します。ポーリング間隔が特定の値 (履歴の深さとも呼ばれる) であるためにリソース使用率が通常レベルまで減らない場合は、Exchange はタールピット遅延を停止し、リソース使用率が通常に戻るまで受信メッセージを拒否し始めます。既定では、バージョン バケットとバッチ ポイントの履歴の深さは、それぞれ 10 および 300 のポーリング間隔です。
EdgeTransport.exe プロセスで使用されているメモリ
既定では、次の数式を使用して、EdgeTransport.exe プロセスによる高レベルのメモリ使用率が計算されます。
物理メモリの合計の 75% または 1 TB のどちらか小さい方
この計算には、ハード ディスクのページング ファイル内で使用できる仮想メモリや、他のプロセスで使用されているメモリは含まれません。この数式の結果は、EdgeTransport.exe プロセスで使用されている合計メモリの割合として表されます。数式の結果は、常に最も近い整数に切り捨てられます。
既定では、EdgeTransport.exe ファイルによる中レベルのメモリ使用率は、物理メモリの合計の 73%、または高レベルの値より 2% 小さい値のどちらか小さい方になります。既定では、EdgeTransport.exe ファイルによる標準レベルのメモリ使用率は、物理メモリの合計の 71%、または高レベルの値より 4% 小さい値のどちらか小さい方になります。
EdgeTransport.exe プロセスのメモリ使用率が指定された標準レベルを超えている場合は、ガーベジ コレクションが強制的に実行されます。ガーベジ コレクションとは、メモリ内に存在する未使用のオブジェクトをチェックし、それらの未使用のオブジェクトで使用されているメモリを再利用するプロセスです。
Exchange 2010 は EdgeTransport.exe プロセスのメモリ使用率の履歴を保持します。ポーリング間隔が特定の値 (履歴の深さとも呼ばれる) であるためにリソース使用率が通常レベルまで減らない場合は、Exchange はリソース使用率が通常に戻るまで受信メッセージを拒否し始めます。既定では、EdgeTransport.exe のメモリ使用率の履歴の深さは、ポーリング間隔 30 です。
すべてのプロセスで使用されているメモリ
既定では、すべてのプロセスによる高レベルのメモリ使用率は、物理メモリの合計の 94% になります。この値には、ハード ディスクのページング ファイル内で使用できる仮想メモリは含まれません。
指定したメモリ使用率のレベルに達すると、メッセージの退避が発生します。メッセージの退避とは、メモリ内にキャッシュされているキュー内のメッセージの不要な要素を削除する処理です。パフォーマンスを向上させるために、メッセージ全体がメモリ内にキャッシュされます。キューに格納されているメッセージの MIME コンテンツをメモリから削除すると、そのメッセージがメッセージ キュー データベースから直接読み取られるため、使用されるメモリは少なくなりますが、待ち時間は長くなります。メッセージの退避は、既定で有効になっています。
ページのトップへ
リソースの圧迫状態で Exchange Transport が実行する処理
次の表に、特定のリソースが圧迫されている場合の Exchange Transport による処理を示します。
リソース圧迫に応答するハブ トランスポート サーバーとエッジ トランスポート サーバーによるバック プレッシャ アクション
圧迫されているリソース | 使用率レベル | 実行された処理 |
---|---|---|
メッセージ キュー データベース用のハード ディスク空き容量 |
中 |
|
メッセージ キュー データベース用のハード ディスク空き容量 |
高 |
|
メッセージ キュー データベース トランザクション ログ用のハード ディスク空き容量 |
中 |
|
メッセージ キュー データベース トランザクション ログ用のハード ディスク空き容量 |
高 |
|
バージョン バケット |
中 |
|
バージョン バケット |
高 |
|
バッチ ポイント |
中 |
|
バッチ ポイント |
高 |
|
EdgeTransport.exe のプロセスによって使用されるメモリ |
中 |
|
EdgeTransport.exe のプロセスによって使用されるメモリ |
高 |
|
すべてのプロセスで使用されているメモリ |
中 |
|
すべてのプロセスで使用されているメモリ |
高 |
|
ページのトップへ
EdgeTransport.exe.config ファイルのバック プレッシャ構成オプション
バック プレッシャの構成オプションはすべて、EdgeTransport.exe.config アプリケーション構成ファイルで使用できます。EdgeTransport.exe.config ファイルの詳細については、「EdgeTransport.exe.Config ファイルについて」を参照してください。
注意
これらの設定は、参照用としてのみ表示されます。EdgeTransport.exe.config ファイルのバック プレッシャの設定は変更しないことを強くお勧めします。バック プレッシャの設定を変更すると、パフォーマンスの低下やデータの損失が発生する可能性があります。発生するバック プレッシャ イベントは、すべて根本原因を調べて修正することをお勧めします。
バック プレッシャ構成オプション
パラメーター名 | 既定値 |
---|---|
EnableResourceMonitoring |
TRUE |
ResourceMonitoringInterval |
00:00:02 |
PercentageDatabaseDiskSpaceUsedHighThreshold |
0. この値は、既定の数式が使用されることを示します。 |
PercentageDatabaseDiskSpaceUsedMediumThreshold |
0. この値は、実際の値が PercentageDatabaseDiskSpaceUsedHighThreshold の値より 2% 小さいことを示します。 |
PercentageDatabaseDiskSpaceUsedNormalThreshold |
0. この値は、実際の値が PercentageDatabaseDiskSpaceUsedMediumThreshold の値より 2% 小さいことを示します。 |
PercentageDatabaseLoggingDiskSpaceUsedHighThreshold |
0. この値は、既定の数式が使用されることを示します。 |
PercentageDatabaseLoggingDiskSpaceUsedMediumThreshold |
0. この値は、実際の値が PercentageDatabaseLoggingDiskSpaceUsedHighThreshold の値より 2% 小さいことを示します。 |
PercentageDatabaseLoggingDiskSpaceUsedNormalThreshold |
0. この値は、実際の値が PercentageDatabaseLoggingDiskSpaceUsedMediumThreshold の値より 2% 小さいことを示します。 |
PercentagePrivateBytesUsedHighThreshold |
0. この値は、既定の計算が使用されることを示します。 |
PercentagePrivateBytesUsedMediumThreshold |
0. この値は、実際の値が PercentagePrivateBytesUsedHighThreshold の値より 2% 小さいことを示します。 |
PercentagePrivateBytesUsedNormalThreshold |
0. この値は、実際の値が PercentagePrivateBytesUsedMediumThreshold の値より 2% 小さいことを示します。 |
VersionBucketsHighThreshold |
200 |
VersionBucketsMediumThreshold |
120 |
VersionBucketsNormalThreshold |
80 |
VersionBucketsHistoryDepth |
10 |
BatchPointHighThreshold |
4000 |
BatchPointMediumThreshold |
2000 |
BatchPointNormalThreshold |
1000 |
BatchPointHistoryDepth |
300 |
BatchPointUseCostForPressure |
TRUE |
BatchPointBatchSize |
40 |
BatchPointBatchTimeout |
00:00:00.100 |
BatchPointItemExpiryInterval |
00:05:00 |
SMTPBaseThrottlingDelayInterval |
00:00:00 |
SMTPMaxThrottlingDelayInterval |
00:00:55 |
SMTPStepThrottlingDelayInterval |
00:00:05 |
SMTPStartThrottlingDelayInterval |
00:00:10 |
PercentagePhysicalMemoryUsedLimit |
94 |
DehydrateMessagesUnderMemoryPressure |
TRUE |
PrivateBytesHistoryDepth |
30 |
ページのトップへ
バック プレッシャのログ情報
次の一覧は、Exchange 2010 の特定のバック プレッシャ イベントによって生成されるイベント ログ エントリに関する説明です。
リソース使用率レベルが増加した場合のイベント ログ エントリ
イベントの種類: エラー
イベント ソース: MSExchangeTransport
イベント カテゴリ: リソース マネージャー
イベント ID: 15004
説明: リソースの圧迫が以前の使用率レベルから現在の使用率レベルに増加しました。
リソース使用率レベルが減少した場合のイベント ログ エントリ
イベントの種類: 情報
イベント ソース: MSExchangeTransport
イベント カテゴリ: リソース マネージャー
イベント ID: 15005
説明: リソースの圧迫が以前の使用率レベルから現在の使用率レベルに減少しました。
利用可能なディスク領域が著しく不足した場合のイベント ログ エントリ
イベントの種類: エラー
イベント ソース: MSExchangeTransport
イベント カテゴリ: リソース マネージャー
イベント ID: 15006
説明: Microsoft Exchange Transport サービスは、利用可能なディスク領域が構成されたしきい値を下回るため、メッセージを拒否しています。運用を続けるには、サービスの空きディスク領域を増やすための管理操作が必要な場合があります。
利用可能なメモリが著しく不足した場合のイベント ログ エントリ
イベントの種類: エラー
イベント ソース: MSExchangeTransport
イベント カテゴリ: リソース マネージャー
イベント ID: 15007
説明: Microsoft Exchange Transport サービスは、サービスが構成されたしきい値よりも多くのメモリを消費し続けているため、メッセージ送信を拒否しています。これにより、通常の運用を続けるには、このサービスを再起動する必要がある場合があります。
ページのトップへ
© 2010 Microsoft Corporation.All rights reserved.