SQL Server性能分析 作者:豆腐 CHINAASP
当您怀疑计算机硬件是影响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启动后,就一直累加记数,所以运行经过一段时间后,该值将不能反映系统当前值。
各行业是出于何种考虑来选择数据库的呢?是由它的特点来决定的。这几款主流数据库的特点:SQL Server 2000是一个具备完全Web支持的数据库产品,提供了可扩展标记语言(XML)核心支持以及Internet上和防火墙外进行查询的能力,具有可伸缩性、灵活性、扩充性好,而且价格便宜等特点;IBM的DB2是目前世界上最昂贵的大型数据库,但与它的服务器结合后其速度快、性能好的特点尤为突出,适用于对速度要求较高的大型用户;而Oracle则是以可靠的安全性受到一些高端用户青睐,即使服务器崩溃了也不会宕机,速度比SQL Server快上百倍,其价格在实施中却比它高出了几百倍,其ERP在中国市场占有60%市场;Sybase分别在企业解决方案、电子商务应用、商务智能、移动与嵌入计算及企业的电子金融应用领域为客户提供业界领先技术,价格比SQL Server 2000高一些。