2014-12-09 2 views
0

У меня есть приложение, которое записывает в приватную очередь MSMQ. Я хочу отслеживать, правильно ли работает приложение, контролируя очередь. Обычно я мог просто посмотреть количество сообщений в очереди, используя счетчики производительности, но есть очень агрессивный читатель очереди. Если моя программа мониторинга зависит от просмотра сообщения в очереди, есть хорошая вероятность, что она ничего не увидит, потому что сообщения уже были прочитаны до того, как мое приложение мониторинга увидит их. То есть Я беспокоюсь о следующей шкале:Мониторинг очереди 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

Лучше всего 1 из этих 2-х вариантов:

  1. Вы можете паузу Очередь через оболочку Windows, чтобы наблюдать сообщения накапливаются, и подтвердить, что он работает. Это, конечно, ручной процесс, и я считаю, что ваше намерение монитора автоматизировано. Однако отлично работает для отладки.
  2. У вас может быть производитель и потребитель очереди, каждый из которых записывает статус для вас, так как он выполняет свою работу. Другими словами, каждый раз, когда производитель создает сообщение, или потребитель обрабатывает сообщение, увеличивайте счет где-то. Используйте эти 2 счета для мониторинга (оба должны подниматься и суммироваться до одной и той же или близкой к одной и той же). Вам необходимо следить за тем, чтобы вы знали, где проблема, если это произойдет.
Смежные вопросы