是否可以按数据库细分CPU利用率?
理想情况下,我正在寻找SQL Server的任务管理器类型的接口,但我不想查看每个PID(如taskmgr)或每个SPID(如spwho2k5)的CPU利用率,而是要查看每个数据库的CPU利用率。假设一个SQL实例。
我意识到可以编写工具来收集这些数据并对其进行报告,但是我想知道是否有任何工具可以让我实时查看哪些数据库对sqlservr.exeCPU负载的贡献最大。
SQL Server(从2000开始)将安装性能计数器(可从Performance Monitor或Perfmon查看)。
计数器类别之一(从SQL Server 2005安装中是:)-SQLServer:Databases
每个数据库有一个实例。但是,尽管有一些速率计数器,但可用的计数器不提供CPU%利用率计数器或类似的计数器,您可以使用它们来很好地估计CPU。例如,如果您有2个数据库,并且在数据库A上测得的速率是20个事务/秒,在数据库B上测得的速率是80个事务/秒---那么您将知道A大约占总CPU的20%,并且B贡献了其他80%。
这里存在一些缺陷,因为假设所有工作都是受CPU限制的,当然对于数据库则不是。但是我相信那将是一个开始。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。