Msmq

當您超過 MSMQ 日誌限制時會發生什麼?

  • February 23, 2019

如果在 MSMQ 專用隊列上啟用了日誌,並且具有儲存限制(例如,100 KB),那麼當超出該限制時會發生什麼情況?你能配置這種行為嗎?

具體來說:

  • 消息仍然可以寫入隊列嗎?
  • 這些消息會被寫入日誌嗎?
  • 已經寫入日誌的舊消息會怎樣?

人們似乎暗示設置限制是期刊增長和超出伺服器資源風險的一種解決方案,但我還沒有發現有人解釋超過限制時會發生什麼。

在我們自己的(非常有限的)測試中,似乎消息只是停止寫入日誌。(即,當日誌隊列達到其限制時,舊消息仍保留在日誌中,但對於所有未來的消息,日誌實際上已關閉)。

是的,日記功能將不再適用於新的日記消息。日誌消息應該像任何其他消息一樣被處理,因此它們不應該被允許累積。

我發現完整日誌甚至可以阻止接收消息的報告,而不僅僅是將它們移動到日誌:

https://social.msdn.microsoft.com/Forums/ie/en-US/58e12d5a-acf3-4c67-a02a-9fa7528a5912/msmq-journal-full

然而,這可能會發生,因為 MSMQ 在那個時候達到了其他一些配額,可能是它對所有隊列的全域儲存限制,而不僅僅是因為日誌。我無法僅通過限制期刊來複製它。但無論如何,不要讓日誌增長太多是個好主意。

順便提一句。我們製作了可以定期備份和清空日誌的商業工具 - QueueMonitor

引用自:https://serverfault.com/questions/652702