0
我有一些自定義SQL Server Service Broker隊列。來自隊列的消息由存儲過程(T-SQL和CLR)處理。我想要監視每個隊列的每個處理器的吞吐量,即在給定的SSB隊列中每分鐘處理多少隊列消息。如何測量SQL Server Service Broker隊列處理器的吞吐量?
我有一些自定義SQL Server Service Broker隊列。來自隊列的消息由存儲過程(T-SQL和CLR)處理。我想要監視每個隊列的每個處理器的吞吐量,即在給定的SSB隊列中每分鐘處理多少隊列消息。如何測量SQL Server Service Broker隊列處理器的吞吐量?
如果每個隊列有一個過程,請查看sys.dm_exec_procedure_stats
並記下執行次數。定期快照不同,它應該給你你需要的東西。
不錯的想法,但一個執行可能會處理多個隊列項目。通常,存儲過程是一個循環,直到隊列不爲空爲止。此外,它可能會批量處理項目。所以,如果SP激活1000個項目入隊,它將只是1次執行,但我想看到1000作爲我的度量值。 – Mikhail
然後修改您的proc以在您自己設計的表格中增加一個計數器。這個想法是一樣的,但現在你負責跟蹤執行統計數據而不是數據庫引擎。 –
這就是我要做的,只是想檢查我沒有失去任何本地的東西。 – Mikhail