随笔分类 -  SQL SERVER 性能调优

SQL SERVER性能调优之五(CPU性能分析)
摘要:SQL SERVER性能调优之五(CPU性能分析)(一)概述(1)CPU对一台数据库服务器来说,是非常重要的资源。废话少说大家都懂的。(2)如何监控CPU性能。2.1 可以使用system perfmon收集Processor:% Processor Time性能计数器,可以参见另一篇文章SQL SERVER性能调优之二(分析服务器的整体性能)2.2使用SQL Server Performance Dashboard。(二)什么原因会导致CPU性能问题?(1)大量消耗CPU的运算,如哈希运算,排序运算。(2)执行计划的编译和重编译。(3)缺乏索引的大量IO操作也会引起额外的CPU消耗。(4)并 阅读全文

posted @ 2012-04-30 20:01 小材小用 阅读(4039) 评论(4) 推荐(7)

SQL SERVER性能调优之四(使用Profiler捕获慢查询)
摘要:SQL SERVER性能调优之四(使用Profiler捕获慢查询)(一)慢的标准是什么?1、对于OLTP系统来说,用户等待3秒就失去耐心了,当然这是一个上限标准,系统的响应时间当然是越快越好。2、对于OLAP系统来说,这个标准很难确定,我所在的公司,有些复杂的报表需要在一台强劲的服务器上运行一天,但是用户也可以接受。3、所以我们应该关注OLTP系统的慢查询,不能让客户下订单需要10S以上才响应吧。(二)捕获方法1、首先在SSMS,工具菜单下打开Profiler。2、输入你用户名密码登陆。3、为你的跟踪取一个名字。4、事件选择选择,选择以下两列即可,Stored Procedures RPC:C 阅读全文

posted @ 2012-04-29 18:43 小材小用 阅读(1520) 评论(0) 推荐(0)

SQL SERVER性能调优之三(T-SQL优化)
摘要:SQL SERVER性能调优之三(T-SQL优化)(一)T-SQL原则1、不要在OLTP服务器做统计和报表运行,应该讲Group by等类似的统计语句放到单独的服务器运行(即OLTP和OLAP分开),可以采用手工或者MS SQL复制将统计的数据分发到OLAP服务器。2、T-SQL是否返回了过多的数据?客户端真的需要这么多数据吗?返回过多的数据意味很多的IO操作,频繁的执行类似语句对IO CPU均会产生压力。3、索引是否符合SAGE。4、是否将频繁执行语句封装成了储存过程?可以减少网络流量,减少执行计划的编译时间。5、程序员是否执行大量的游标语句?一切关系型数据库都是擅长集合运算。6、客户端调用 阅读全文

posted @ 2012-04-29 14:39 小材小用 阅读(1218) 评论(2) 推荐(1)

SQL SERVER性能调优之二(是否存在硬件瓶颈)
摘要:SQL SERVER性能调优之二(是否存在硬件瓶颈)(一)是否存在一个服务器性能基线? (1)、有了基线才有一个衡量的指标,否则一切计数器都是没有意思。否则可能我的系统本来就很慢,例如现在公司就有一个OLAP系统,每天就花了三个小时产生一个报表。也不是问题。 (2)、有了基线才能确认我的服务器确实存在调整的必要了,例如今天发布新的代码后,性能明显偏离基线了,说明我的程序或者T-SQL代码可能却在缺陷。(二)如何建立一个基线。 (1)、使用system perfmon收集性能计数器信息。 (2)、使用sys.dm_os_performance_counters DMV,可惜该DMV不包含一些OS 阅读全文

posted @ 2012-04-29 14:15 小材小用 阅读(1722) 评论(0) 推荐(0)

SQL SERVER性能调优之一(SQL SERVERL性能调优初探)
摘要:SQL SERVER性能调优之一(SQL SERVER性能调优初探)(一)我的系统越来越慢 用户总抱怨系统越来越慢,报表出不来,下单很慢。高峰期间一切都慢下了,平常很快的操作也不行了。总之我的系统随着时间越来越慢,我们开始总把这种情况归结为数据太多了,硬件跟不上了。真的是这样吗?(二)我们是否规范的管理了数据库? (1)、我们是否有一个称职的DBA? (2)、我们是否监控服务器的性能指标? (3)、我们是否正确的使用并配置了服务器? (4)、我们的程序设计是否合理? 。。。。。。。。很多的疑问。(三)优化的方法论 (1)、分析服务器的整体性能。 (2)、分析阻塞和等待。 (3)、确定优化的方法 阅读全文

posted @ 2012-04-29 13:29 小材小用 阅读(2286) 评论(4) 推荐(1)

导航