【问题标题】:How can I measure the throughput of SQL Server Service Broker queue processor?如何测量 SQL Server Service Broker 队列处理器的吞吐量?
【发布时间】:2015-05-29 07:56:25
【问题描述】:

我有许多自定义 SQL Server Service Broker 队列。来自队列的消息由存储过程(T-SQL 和 CLR)处理。我想监控每个处理器每个队列吞吐量,即在给定的 SSB 队列中每分钟处理多少队列消息。

【问题讨论】:

    标签: sql-server service-broker


    【解决方案1】:

    如果每个队列有一个过程,请查看 sys.dm_exec_procedure_stats 并记下执行次数。定期拍摄快照以区分它们,这应该可以满足您的需求。

    【讨论】:

    • 好主意,但一次执行可能会处理多个队列项。通常,存储过程是一个循环,一直执行到队列不为空。此外,它可能会批量处理项目。因此,如果 SP 激活时有 1000 个项目入队,它只会执行 1 次,但我希望看到 1000 作为我的指标值。
    • 然后修改您的过程以增加您自己设计的表中的计数器。想法是一样的,但现在您负责跟踪执行统计信息,而不是数据库引擎。
    • 这就是我要做的,只是想检查一下我没有错过任何原生的东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-01
    • 1970-01-01
    • 2015-04-12
    相关资源
    最近更新 更多