设为首页 收藏本站
查看: 603|回复: 0

[经验分享] SQL Server性能计数器(转自:http://www.cnblogs.com/netflu/archive/2010/09/22/1832993.html

[复制链接]

尚未签到

发表于 2016-11-8 09:42:19 | 显示全部楼层 |阅读模式
  
计数器描述Buffer manager/buffer cache hit ratio指可在缓冲池中找到而不需要从磁盘中读取(物理I/O)的页面的百分比。如果该值较低则可能存在内存不足或不正确的索引General statistics object/user connections指系统中活动的SQL连接数。该计数器的信息可以用于确定系统得最大并发用户数Locks/lock requests/sec指每秒请求的锁个数。通过优化查询来减少读取次数,可以减少该计数器的值。Locks/lock timeouts/sec指每秒由于等待对锁的授权的锁请求数,理想情况下,该计数器的值为0Locks/lock waits/sec指每秒无法立刻得到授权而超时的锁请求数,理想情况下,该计数器的值应该尽可能为0Locks/number of deadlocks/sec指每秒导致死锁的锁请求数。死锁对于应用程序的可伸缩性非常有害,并且会导致恶劣的用户体验。该计数器必须为0Memory manager/memory grants pending指每秒等待工作空间内存授权的进程数。该计数器应该尽可能接近0,否则预示可能存在着内存瓶颈SQL statistics/batch requests/sec指每秒向服务器提交批的请求次数。该计数器被用来确定系统的负载大小SQL statistics/ SQL compilations/sec指每秒编译数。理想状态下该计数器的值应该低,如果batch requests/sec计数器的值非常接近该计数器,那么可能存在大量的特殊SQL调用SQL statistics/ re- compilations/sec指每秒的重新编译数。该计数器的值越低越好。存储过程在理想情况下应该只编译一次,然后被他们的执行计划重复利用。如果该计数器的值较高,或许需要换个方式编写存储过程,从而减少重编译的次数  
  
  当您怀疑计算机硬件是影响SQL Server运行性能的主要原因时,可以通过SQL Server Performance Monitor监视相应硬件的负载,以证实您的猜测并找出系统瓶颈。下文将介绍一些常用的分析对象及其参数。
  Processor:%User Time
  表示耗费CPU的数据库操作,如排序,执行aggregate functions等。如果该值很高,可考虑增加索引,尽量使用简单的表联接,水平分割大表格等方法来降低该值。
  Memory: Page Faults / sec
  如果该值偶尔走高,表明当时有线程竞争内存。如果持续很高,则内存可能是瓶颈。
  SQLServer:Cache Hit Ratio
该值越高越好。如果持续低于80%,应考虑增加内存。 注意该参数值是从SQL Server启动后,就一直累加记数,所以运行经过一段时间后,该值将不能反映系统当前值。
  Process: Working Set
  SQL Server的该参数应该非常接近分配给SQL Server的内存值。在SQL Server设定中,如果将"set working set size"置为0, 则Windows NT会决定SQL Server的工作集的大小。如果将"set working set size"置为1,则强制工作集大小为SQLServer的分配内存大小。一般情况下,最好不要改变"set working set size"的缺省值。
  Process:%Processor Time
  如果该参数值持续超过95%,表明瓶颈是CPU。可以考虑增加一个处理器或换一个更快的处理器。
  Processor:%Privileged Time
  如果该参数值和"Physical Disk"参数值一直很高,表明I/O有问题。可考虑更换更快的硬盘系统。另外设置Tempdb in RAM,减低"max async IO","max lazy writer IO"等措施都会降低该值。

Physical Disk:Avg.Disk Queue Length
  该值应不超过磁盘数的1.5~2倍。要提高性能,可增加磁盘。
  注意:一个Raid Disk实际有多个磁盘。
  
  
  补充:
  性能分析器这样打开:
  SQL Server2005=》性能工具=》SQL Server Profiler
  在Profiler中新建一个“跟踪”,确定后,在profiler的工具栏下边有一行图标,里面有一个图表样子的按钮,那就是“性能分析器”了!
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-297279-1-1.html 上篇帖子: MS SQL SERVER 海量数据的查询优化及分页算法 下篇帖子: SQL Server学习笔记5之--子查询与表表达式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表