簡體   English   中英

監視MSMQ隊列

[英]Monitoring an MSMQ queue

我有一個寫到私有MSMQ隊列的應用程序。 我想通過監視隊列來監視應用程序是否正常運行。 通常,我可以使用性能計數器查看隊列中的消息數量,但是有一個非常激進的隊列讀取器。 如果我的監視程序依賴於在隊列中查看消息,則很有可能永遠不會看到任何消息,因為在監視應用程序看到消息之前已經讀取了消息。 即我擔心以下時間表:

--+-W-R---W-R+--W-R--W-R+---WR-W--R+-W--R-W--R+---
where W is a write
      R is a read
      + is monitoring the queue

鑒於以上所述,雖然隊列上有活動(寫和讀),但是在監視事物時永遠不會有任何活動。

有什么辦法可以查看過去一分鍾或一小時內通過的隊列項目的數量? 還是其他可能讓我監視隊列的內容?

最好的選擇是以下兩個選項之一:

  1. 您可以通過Windows Shell 暫停隊列以查看消息的累積,並確認其是否正常運行。 當然,這是一個手動過程,我相信您的監控意圖是自動的。 但是非常適合調試。
  2. 您可以讓隊列生產者和使用者在完成工作時分別為您編寫狀態。 換句話說,每當生產者創建一條消息或消費者處理一條消息時,都要在某個地方增加計數。 使用這兩個計數進行監視(兩個計數都應該上升並且加起來等於或接近於相同的數量)。 您需要同時監視這兩個位置,以便知道發生問題的位置(如果發生)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM