瞭解背壓
背壓是 Microsoft Exchange Transport 服務的系統資源監視功能,存在於信箱伺服器和 Edge Transport Server 上。 返回壓力會偵測硬碟空間和記憶體等重要系統資源何時過度使用,並採取動作來防止伺服器變得完全不知所措且無法使用。 例如,當 Exchange Server 上的系統資源使用率層級判斷為太高時,伺服器會延遲接受新的訊息。 如果資源使用率變差,伺服器會停止接受新的訊息,以獨佔方式處理所有現有的訊息,甚至可能會停止處理傳出訊息。 當系統資源使用率回到可接受的層級時,Exchange 伺服器會接受新的訊息並處理傳出訊息,以繼續正常作業。
受監視的資源
下列系統資源會受到背壓監視:
- DatabaseUsedSpace[%ExchangeInstallPath%TransportRoles\data\Queue]:保存訊息佇列資料庫之磁片磁碟機的硬碟使用率。
- PrivateBytes:EdgeTransport.exe進程所使用的記憶體。
- QueueLength[SubmissionQueue]:提交佇列中的訊息數目。
- SystemMemory:所有其他進程所使用的記憶體。
- UsedDiskSpace[%ExchangeInstallPath%TransportRoles\data\Queue]:保存訊息佇列資料庫交易記錄之磁片磁碟機的硬碟使用率。
- UsedDiskSpace[%ExchangeInstallPath%TransportRoles\data]:用於內容轉換之磁片磁碟機的硬碟使用率。
- UsedVersionBuckets[%ExchangeInstallPath%TransportRoles\data\Queue\mail.que]:記憶體中存在的未認可訊息佇列資料庫交易數目。
針對信箱伺服器或 Edge Transport Server 上每個受監視的系統資源,會定義下列資源使用率或 壓力 層級:
- 低或一般:資源不會過度使用。 伺服器會接受新的連線及郵件。
- 中:資源稍微過度使用。 會對伺服器套用有限的背壓。 來自組織授權網域中寄件者的郵件可以流動。 不過,根據處於壓力下的特定資源,伺服器使用垃圾郵件防堵來延遲伺服器回應,或拒絕從其他資源傳入的 MAIL FROM 命令。
- 高:資源嚴重過度使用。 會套用完整背壓。 所有郵件流程都會停止,而且伺服器會拒絕所有新的傳送的 MAIL FROM 命令。
轉換層級會定義低、中和高資源使用率值,視資源壓力是增加還是降低而定。 一般而言,資源使用率降低時,需要低於原始層級的資源使用率層級。 換句話說,低、中和高資源壓力實際上沒有靜態值。 您必須知道使用率是增加還是減少,才能判斷資源使用率層級的下一個變更。
下列幾節說明 Exchange 如何處理特定資源處於壓力下的狀況。
保存訊息佇列資料庫之磁片磁碟機的硬碟使用率
資源: DatabaseUsedSpace[%ExchangeInstallPath%TransportRoles\data\Queue]
描述:監視保存訊息佇列資料庫之磁片磁碟機上所有檔案所耗用的總磁片磁碟機空間百分比。 請注意,訊息佇列資料庫檔案包含未使用的空間,因此,所有檔案耗用的總磁片磁碟機空間正確描述是資料庫中的磁片磁碟機大小 - 可用磁碟空間 - 可用空間。
若要變更訊息佇列資料庫的預設位置,請參閱 變更佇列資料庫的位置。
壓力轉換 (%) :
- LowToMedium:96
- MediumToHigh:99
- HighToMedium:97
- MediumToLow:94 批註::
預設的高階硬碟使用率是使用下列公式來計算:
100 * (< MB > 的硬碟大小- 500 MB) /< MB > 的硬碟大小
此公式說明訊息佇列資料庫中有未使用的空間
1 GB = 1024 MB。 結果會向下舍入至最接近的整數。
例如,如果您的訊息佇列資料庫位於 1 TB (TB) 磁片磁碟機 (1048576 MB) ,則高使用率為 100* (1048576-500) /1048576) 或 99%。
如您從公式和舍入向下行為所見,在公式計算小於 99% 的高使用率值之前,硬碟必須非常小。 例如,高使用率的 98% 值需要大約 25 GB 或更少的硬碟。
EdgeTransport.exe 處理程序所使用的記憶體
資源: PrivateBytes
描述:監視屬於 Microsoft Exchange Transport 服務之EdgeTransport.exe進程所使用的記憶體百分比。 這不包括分頁檔案中的虛擬記憶體,或其他進程所使用的記憶體。
壓力轉換 (%) :
- LowToMedium:72
- MediumToHigh:75
- HighToMedium:73
- MediumToLow:71
批註:
根據預設,EdgeTransport.exe進程的高記憶體使用率是實體記憶體總計的 75%,或 1 TB,以較少者為准。 結果一律會四捨五入至最接近的整數。
Exchange 會保留 EdgeTransport.exe 處理程序的記憶體使用率歷程記錄。 如果特定輪詢間隔數目的使用率未降低至低層級,也就是所謂的 歷程記錄深度,Exchange 會拒絕傳入訊息,直到資源使用率回到低層級為止。 根據預設,EdgeTransport.exe記憶體使用率的歷程記錄深度為 30 個輪詢間隔。
提交佇列中的郵件數
資源: QueueLength[SubmissionQueue]
描述:監視提交佇列中的訊息數目。 一般而言,訊息會從接收連接器輸入提交佇列。 如需詳細資訊,請參閱 郵件流程和傳輸管線。 提交佇列中若有大量郵件,表示分類程式在處理郵件時遇到困難。
壓力轉換:
- LowToMedium:9999
- MediumToHigh:15000
- HighToMedium:10000
- MediumToLow:2000
批註:
當提交佇列承受壓力時,Exchange 會延遲內送訊息的認可來節流傳入連線。 Exchange 會藉由 tarpitting來降低傳入訊息流程的速率,這會將 SMTP MAIL FROM 命令的認可延遲到傳送伺服器。 如果壓力狀況持續發生,Exchange 會逐漸增加延遲。 提交佇列使用率回到低層級之後,Exchange 會減少通知延遲,並輕鬆回到正常作業。 根據預設,在提交佇列壓力下,Exchange 會將訊息通知延遲 10 秒。 如果資源壓力持續,延遲會增加 5 秒,最多增加 55 秒。
Exchange 會保留提交佇列使用情況的歷程記錄。 如果提交佇列使用率並未針對特定輪詢間隔數目降低至低層級,也就是所謂的 歷程記錄深度,Exchange 會停止延遲延遲,並拒絕傳入訊息,直到提交使用率回到低層級為止。 根據預設,提交佇列的歷程記錄深度為 300 個輪詢間隔。
所有處理程序所使用的記憶體
資源: SystemMemory
描述:監視 Exchange Server 上所有進程所使用的記憶體百分比。 這不包含分頁檔案中的虛擬記憶體。
壓力轉換 (%) :
- LowToMedium:88
- MediumToHigh:94
- HighToMedium:89
- MediumToLow:84
批註:
當伺服器達到高階的記憶體使用率時, 就會發生訊息解除凍結 。 訊息解除凍結會移除記憶體中快取之佇列訊息的不必要元素。 一般而言,會在記憶體中快取完整的訊息,以提高效能。 從這些快取的訊息中移除 MIME 內容,可減少以較高延遲為代價所使用的記憶體數量,因為訊息現在會直接從訊息佇列資料庫讀取。 預設會啟用郵件凍結。
保存訊息佇列資料庫交易記錄之磁片磁碟機的硬碟使用率
資源: UsedDiskSpace[%ExchangeInstallPath%TransportRoles\data\Queue]
描述:監視保存訊息佇列資料庫交易記錄之磁片磁碟機上所有檔案所耗用的總磁片磁碟機空間百分比。 若要變更預設位置,請參閱 變更佇列資料庫的位置。
壓力轉換 (%) :
- LowToMedium:89
- MediumToHigh:99
- HighToMedium:90
- MediumToLow:80
批註::
預設的高階硬碟使用率是使用下列公式來計算:
100 * (< MB > 的硬碟大小- 1152 MB) /< MB > 的硬碟大小
1 GB = 1024 MB。 結果會向下舍入至最接近的整數。
例如,如果您的佇列資料庫位於 1 TB (TB) 磁片磁碟機 (1048576 MB) ,則高使用率是 100* (1048576-1152) /1048576) 或 99%。
如您從公式和舍入向下行為所見,在公式計算小於 99% 的高使用率值之前,硬碟必須相當小。 例如,高使用率的 98% 值需要大約 56 GB 或更少的硬碟。
應用程式 %ExchangeInstallPath%Bin\EdgeTransport.exe.config
組態檔包含具有預設值 的 DatabaseCheckPointDepthMax 機 碼 384MB
。 此機碼會控制硬碟上之所有未認可交易記錄的總允許大小。 此索引鍵的值會用於計算高使用率的公式中。 如果您自訂此值,公式會變成:
100 * (< MB > 的硬碟大小- 最小 (5120 MB,3* DatabaseCheckPointDepthMax) ) / < MB > 的硬碟大小
注意事項
DatabaseCheckPointDepthMax金鑰的值會套用至所有傳輸相關的可延伸儲存引擎, (Exchange 伺服器上存在的 ESE) 資料庫。 在信箱伺服器上,這包括訊息佇列資料庫和寄件者信譽資料庫。 在 Edge Transport Server 上,這包括訊息佇列資料庫、傳送者信譽資料庫,以及連線篩選代理程式所使用的 IP 篩選資料庫。
用於內容轉換之磁片磁碟機的硬碟使用率
資源: UsedDiskSpace[%ExchangeInstallPath%TransportRoles\data]
描述:監視磁片磁碟機上用於內容轉換之所有檔案所耗用的總磁片磁碟機空間百分比。 資料夾的預設位置是 %ExchangeInstallPath%TransportRoles\data\Temp
,而且是由應用程式組態檔中的 %ExchangeInstallPath%Bin\EdgeTransport.exe.config
TemporaryStoragePath機碼所控制。
壓力轉換 (%) :
- LowToMedium:89
- MediumToHigh:99
- HighToMedium:90
- MediumToLow:80
批註:
預設的高階硬碟使用率是使用下列公式來計算:
100 * (< MB > 的硬碟大小- 500 MB) /< MB > 的硬碟大小
1 GB = 1024 MB。 結果會向下舍入至最接近的整數。
例如,如果您的訊息佇列資料庫位於 1 TB (TB) 磁片磁碟機 (1048576 MB) ,則高使用率為 100* (1048576-500) /1048576) 或 99%。
如您從公式和舍入向下行為所見,在公式計算小於 99% 的高使用率值之前,硬碟必須非常小。 例如,高使用率的 98% 值需要大約 25 GB 或更少的硬碟。
記憶體中未認可的郵件佇列資料庫交易數
資源: UsedVersionBuckets[%ExchangeInstallPath%TransportRoles\data\Queue\mail.queue]
描述:監視存在於記憶體中訊息佇列資料庫的未認可交易數目。
壓力轉換:
- LowToMedium:999
- MediumToHigh:1500
- HighToMedium:1000
- MediumToLow:800
批註::
對訊息佇列資料庫進行的變更清單會保留在記憶體中,直到可以將這些變更認可到交易記錄為止。 然後,這份清單就會認可至訊息佇列資料庫本身。 這些保留在記憶體中的未完成訊息佇列資料庫交易稱為「版本桶 (bucket)」。 版本 Bucket 的數目可能會因非預期的大量內送郵件、垃圾郵件攻擊、郵件佇列資料庫完整性問題或硬碟效能,而增加到異常高的層級。
當版本貯體承受壓力時,Exchange Server 會藉由延遲通知傳入訊息來節流傳入連線。 Exchange 會藉由 tarpitting來降低傳入訊息流程的速率,這會將 SMTP MAIL FROM 命令的認可延遲到傳送伺服器。 如果資源壓力狀況持續發生,Exchange 會逐漸增加延遲。 資源使用率回到正常狀態之後,Exchange 會逐漸減少通知延遲,並輕鬆回到正常作業。 根據預設,在資源壓力下,Exchange 會將訊息通知延遲 10 秒。 如果壓力持續,延遲會增加 5 秒,最多增加 55 秒。
當版本貯體承受高壓力時,Exchange 伺服器也會停止處理傳出訊息。
Exchange 會保留版本貯體資源使用率的歷程記錄。 如果資源使用率並未針對特定輪詢間隔數目降低至低層級,也就是所謂的 歷程記錄深度,Exchange 會停止延遲延遲,並拒絕傳入訊息,直到資源使用率回到低層級為止。 根據預設,版本貯體的歷程記錄深度為 10 個輪詢間隔。
當資源承受壓力時,由背壓所採取的動作
下表摘要說明當受監視的資源處於壓力之下時,背壓所採取的動作。
壓力下的資源 | 使用率層級 | 採取的動作 |
---|---|---|
DatabaseUsedSpace | 中 | 拒絕來自非 Exchange 伺服器的傳入訊息。 拒絕來自 Pickup 目錄和 Replay 目錄的訊息提交。 訊息重新提交已暫停。 陰影備援會拒絕訊息。 如需陰影備援的詳細資訊,請參閱Exchange Server 中的陰影備援。 |
DatabaseUsedSpace | 高 | 在中度使用率層級採取的所有動作。 拒絕來自其他 Exchange 伺服器的傳入訊息。 拒絕信箱伺服器上的 Microsoft Exchange 信箱傳輸提交服務從信箱資料庫提交郵件。 |
PrivateBytes | 中 | 拒絕來自非 Exchange 伺服器的傳入訊息。 拒絕來自 Pickup 目錄和 Replay 目錄的訊息提交。 訊息重新提交已暫停。 陰影備援會拒絕訊息。 在伺服器或傳輸服務重新開機之後處理訊息 (也稱為 開機掃描) 已暫停。 啟動訊息解除凍結。 |
PrivateBytes | 高 | 在中度使用率層級採取的所有動作。 拒絕來自其他 Exchange 伺服器的傳入訊息。 拒絕信箱伺服器上的 Microsoft Exchange 信箱傳輸提交服務從信箱資料庫提交郵件。 |
QueueLength[SubmissionQueue] | 中 | 對內送郵件採用或遞增垃圾郵件防堵延遲。 如果沒有達到整個提交佇列歷程記錄深度的正常層級,請採取下列動作:
|
QueueLength[SubmissionQueue] | 高 | 在中度使用率層級採取的所有動作。 拒絕來自其他 Exchange 伺服器的傳入訊息。 拒絕信箱伺服器上的 Microsoft Exchange 信箱傳輸提交服務從信箱資料庫提交郵件。 從記憶體排清增強型 DNS 快取。 啟動訊息解除凍結。 |
SystemMemory | 中 | 啟動訊息解除凍結。 排清快取。 |
SystemMemory | 高 | 在中度使用率層級採取的所有動作。 |
UsedDiskSpace (訊息佇列資料庫交易記錄) | 中 | 拒絕來自非 Exchange 伺服器的傳入訊息。 拒絕來自 Pickup 目錄和 Replay 目錄的訊息提交。 訊息重新提交已暫停。 陰影備援會拒絕訊息。 |
UsedDiskSpace (訊息佇列資料庫交易記錄) | 高 | 在中度使用率層級採取的所有動作。 拒絕來自其他 Exchange 伺服器的傳入訊息。 拒絕信箱伺服器上的 Microsoft Exchange 信箱傳輸提交服務從信箱資料庫提交郵件。 |
UsedDiskSpace (內容轉換) | 中 | 拒絕來自非 Exchange 伺服器的傳入訊息。 拒絕來自 Pickup 目錄和 Replay 目錄的訊息提交。 |
UsedDiskSpace (內容轉換) | 高 | 在中度使用率層級採取的所有動作。 拒絕來自其他 Exchange 伺服器的傳入訊息。 拒絕信箱伺服器上的 Microsoft Exchange 信箱傳輸提交服務從信箱資料庫提交郵件。 |
UsedVersionBuckets | 中 | 對內送郵件採用或遞增垃圾郵件防堵延遲。 如果沒有達到整個版本 Bucket 歷程記錄深度的正常層級,請採取下列動作:
|
UsedVersionBuckets | 高 | 在中度使用率層級採取的所有動作。 拒絕來自其他 Exchange 伺服器的傳入訊息。 拒絕信箱伺服器上的 Microsoft Exchange 信箱傳輸提交服務從信箱資料庫提交郵件。 停止處理傳出訊息。 遠端傳遞已暫停。 |
檢視回壓資源閾值和使用率層級
您可以使用 Exchange 管理命令介面中的 Get-ExchangeDiagnosticInfo Cmdlet 來檢視正在監視的資源,以及目前的使用率層級。 若要了解如何在內部部署 Exchange 組織中開啟 Exchange 管理命令介面,請參閱 Open the Exchange Management Shell。
若要檢視 Exchange Server 上的背壓設定,請執行下列命令:
[xml]$bp=Get-ExchangeDiagnosticInfo [-Server <ServerIdentity> ] -Process EdgeTransport -Component ResourceThrottling; $bp.Diagnostics.Components.ResourceThrottling.ResourceTracker.ResourceMeter
若要查看本機伺服器上的值,您可以省略 Server 參數。
EdgeTransport.exe.config檔案中的背壓組態設定
支援壓力的所有組態選項都會在 XML 應用程式組態檔中 %ExchangeInstallPath%Bin\EdgeTransport.exe.config
完成。 不過,根據預設,檔案中有幾個設定存在。
謹慎
這些設定只會列為預設值的參考。 強烈建議不要在 EdgeTransport.exe.config 檔案中對背壓設定做任何修改。 修改這些設定可能會導致效能不佳或資料遺失。 建議您調查並修正所有可能發生的背壓事件之主要原因。
一般背壓設定
機碼名稱 | 預設值 |
---|---|
ResourceMeteringInterval |
00:00:02 (2 秒) |
DehydrateMessagesUnderMemoryPressure | 真 |
DatabaseUsedSpace 設定
機碼名稱 | 預設值 (%) |
---|---|
DatabaseUsedSpace.LowToMedium | 96 |
DatabaseUsedSpace.MediumToHigh | 99 |
DatabaseUsedSpace.HighToMedium | 97 |
DatabaseUsedSpace.MediumToLow | 94 |
PrivateBytes 設定
機碼名稱 | 預設值 (%) |
---|---|
PrivateBytes.LowToMedium | 72 |
PrivateBytes.MediumToHigh | 75 |
PrivateBytes.HighToMedium | 73 |
PrivateBytes.MediumToLow | 71 |
PrivateBytesHistoryDepth | 30 |
QueueLength[SubmissionQueue] 設定
機碼名稱 | 預設值 |
---|---|
QueueLength[SubmissionQueue]。LowToMedium | 9999 |
QueueLength[SubmissionQueue]。MediumToHigh | 15000 |
QueueLength[SubmissionQueue]。HighToMedium | 10000 |
QueueLength[SubmissionQueue]。MediumToLow | 2000 |
SubmissionQueueHistoryDepth | 300 (10 分鐘後) |
SystemMemory 設定
機碼名稱 | 預設值 (%) |
---|---|
SystemMemory.LowToMedium | 88 |
SystemMemory.MediumToHigh | 94 |
SystemMemory.HighToMedium | 89 |
SystemMemory.MediumToLow | 84 |
訊息佇列資料庫交易記錄 (UsedDiskSpace 設定)
機碼名稱 | 預設值 (%) |
---|---|
UsedDiskSpace[%ExchangeInstallPath%TransportRoles\data\Queue]。LowToMedium | 89 |
UsedDiskSpace[%ExchangeInstallPath%TransportRoles\data\Queue]。MediumToHigh | 99 |
UsedDiskSpace[%ExchangeInstallPath%TransportRoles\data\Queue]。HighToMedium | 90 |
UsedDiskSpace[%ExchangeInstallPath%TransportRoles\data\Queue]。MediumToLow | 80 |
注意事項
例如 UsedDiskSpace.MediumToHigh
,只 UsedDiskSpace
包含 (的值) 套用至訊息佇列資料庫交易記錄和內容轉換。
UsedDiskSpace 設定 (內容轉換)
機碼名稱 | 預設值 (%) |
---|---|
UsedDiskSpace[%ExchangeInstallPath%TransportRoles\data]。LowToMedium | 89 |
UsedDiskSpace[%ExchangeInstallPath%TransportRoles\data]。MediumToHigh | 99 |
UsedDiskSpace[%ExchangeInstallPath%TransportRoles\data]。HighToMedium | 90 |
UsedDiskSpace[%ExchangeInstallPath%TransportRoles\data]。MediumToLow | 80 |
TemporaryStoragePath | %ExchangeInstallPath%TransportRoles\data\Temp |
UsedVersionBuckets 設定
機碼名稱 | 預設值 |
---|---|
UsedVersionBuckets.LowToMedium | 999 |
UsedVersionBuckets.MediumToHigh | 1500 |
UsedVersionBuckets.HighToMedium | 1000 |
UsedVersionBuckets.MediumToLow | 800 |
VersionBucketsHistoryDepth | 10 |
背壓記錄資訊
下列清單描述 Exchange 中特定背壓事件所產生的事件日誌項目:
資源使用量層級增加的事件日誌項目
事件類型:錯誤
事件來源:MSExchangeTransport
事件類別:資源管理員
事件識別碼:15004
描述:資源壓力從先前的< 使用率層級 >增加至< 目前的使用率層級 >。
資源使用量層級減少的事件日誌項目
事件類型:參考
事件來源:MSExchangeTransport
事件類別:資源管理員
事件識別碼:15005
描述:資源壓力從先前的< 使用率層級 >降低為< 目前的使用率層級 >。
可用磁碟空間嚴重不足的事件日誌項目
事件類型:錯誤
事件來源:MSExchangeTransport
事件類別:資源管理員
事件識別碼:15006
描述:Microsoft Exchange 傳輸服務正在拒絕郵件,因為可用磁碟空間低於設定的閾值。 可能需要進行系統管理動作來釋放磁碟空間,讓服務繼續運作。
可用記憶體嚴重不足的事件日誌項目
事件類型:錯誤
事件來源:MSExchangeTransport
事件類別:資源管理員
事件識別碼:15007
描述:Microsoft Exchange 傳輸服務正在拒絕郵件提交,因為服務持續耗用的記憶體超過設定的閾值。 如此可能需要重新啟動此服務,以繼續正常運作。