SQL server 服务器性能优化

解决SQL Server性能问题的关键是确定瓶颈在哪里,最容易造成瓶颈的顺序是:

磁盘I/O>CPU> RAM>用户连接数>网络带宽




对于大的数据库,有些地方要注意一下:

1)定期DBCCCHECKDB (建议在服务器负荷较少的时候运行 DBCC CHECKDB。如果在负荷高峰期运行 DBCC CHECKDB,那么事务吞吐量性能和 DBCC CHECKDB 完成时间性能都会受到影响。)

2)定期重建索引(对于这种大数据库,重建索引前把日志模式转到bulk_logged,完成后再改回full)

3)避免收缩数据库(如果数据库在用户查询繁忙时扩大,就会非常忙,这都可能是你遇到的问题的原因)

如果可能,最好事先扩大数据库,重建索引通常会导致日志文件暴涨(参考第2点)

4)定期重启SQL服务,比如每1个月,每2周或1周重启一次(这个很容易被忽略,但非常有效)



另外还有一点比较容易被忽略,

如果你的系统是事务处理和报表查询混合在一起的,即

同时有很多用户更新数据,也有用户运行一些复杂的报表。

那么,建议把你SQLServer的最大查询并行度改为1,默认为0,

当有个用户运行一个很复杂的查询时,SQLServer会把4个处理器都用去处理这个查询,其他用户就慢得多了。

如果并行度改为1,SQLServer总是用1个处理器去处理一个查询。

———————————————————————————————————————————————

SQLServer做小应用比较方便,入门容易,但并不代表就只适合做小应用。



对于系统有点规模的,多CPU,磁盘阵列都有。这种硬件配置就不能使用默认的SQLServer配置,

默认的SQLServer配置参数只适合大多数情况。



你有2个4核CPU,算是8个核,那么要为tempdb建8个数据文件(datafile),默认只有1个数据文件。

这个在多核系统里面非常重要,各个CPU才能同时使用不同的数据文件去操作tempdb,否则就只有排队等。

关键是8个数据文件大小必须一样。细节参看:http://support.microsoft.com/kb/328551/zh-cn



上面设置最大并行度为1的部分,你可以参看:http://support.microsoft.com/kb/329204/zh-cn

——————————————————————————————————————————————–

最大并行度(MAXDOP)

注意MAXDOP选项不会限制 SQL Server 使用的处理器数。使用亲和力掩码配置选项来配置 SQL Server 使用的处理器数。

当您配置MAXDOP值时,请遵循以下准则:

对于使用八个以上的处理器的服务器使用以下配置: MAXDOP = 8。 服务器的有八个或更少的处理器,使用下列配置其中N等于处理器数: MAXDOP = 0 到N。 对于具有NUMA配置的服务器,MAXDOP不应超过分配给每个NUMA节点的 cpu 数。 超线程已启用的服务器的MAXDOP值不应超过物理处理器的数量。这些都是一般指导原则。可能有一些例外情况,这些指导原则。例如对于并不会使用在下列情况下的指导原则: 如果服务器不是联机事务处理 (OLTP) 基于服务器。 如果服务器运行的大批量处理时没有或最少的用户负载。 如果服务器正在运行大量占用资源的操作。注意在生产服务器上实现所做的更改之前,请测试配置。

 

———————————————————————————————————————————————————————————–

 

更多关于云服务器域名注册虚拟主机的问题,请访问西部数码官网:www.west.cn

赞(0)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » SQL server 服务器性能优化

登录

找回密码

注册