监测你的SQL SERVER--让瓶颈暴露

时间:2020-12-11 13:22:51
  当您怀疑计算机硬件是影响sql server运行性能的主要原因时,可以通过sql server performance monitor监视相应硬件的负载,以证实您的猜测并找出系统瓶颈。下文将介绍一些常用的分析对象及其参数。

  memory: page faults / sec

  如果该值偶尔走高,表明当时有线程竞争内存。如果持续很高,则内存可能是瓶颈。

  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"等措施都会降低该值。

  processor:%user time

  表示耗费cpu的数据库操作,如排序,执行aggregate functions等。如果该值很高,可考虑增加索引,尽量使用简单的表联接,水平分割大表格等方法来降低该值。

  physical disk:avg.disk queue length

  该值应不超过磁盘数的1.5~2倍。要提高性能,可增加磁盘。

  注意:一个raid disk实际有多个磁盘。

  
sqlserver:cache hit ratio

  该值越高越好。如果持续低于80%,应考虑增加内存。 注意该参数值是从sql server启动后,就一直累加记数,所以运行经过一段时间后,该值将不能反映系统当前值。