您当前的位置: 首页 > 数据库教程 > MSSQL教程 > 提高SQL Server应用程序性能硬件配置的方法

提高SQL Server应用程序性能硬件配置的方法

作者:不详 来源:网络 发布时间: 2011-01-10 17:54 点击:
当应用程序性能出现问题时,服务器硬件通常会背上黑锅,人们想到的往往是如何优化服务器的硬件。 实际上恰恰相反,多数情况下,硬件并非导致性能问题的罪魁祸首。 对于基于sql server的应用程序的性能和升级,服务器硬件所起的影响要远比人们想象的

提高SQL Server应用程序性能硬件配置的方法

  当应用程序性能出现问题时,服务器硬件通常会背上黑锅,人们想到的往往是如何优化服务器的硬件。
  
  实际上恰恰相反,多数情况下,硬件并非导致性能问题的罪魁祸首。
  
  对于基于sql server的应用程序的性能和升级,服务器硬件所起的影响要远比人们想象的小。
  
  多数应用程序运行缓慢的原因是因为其糟糕的前期设计,而并非硬件性能不够。
  
  硬件通常被冠以恶名的原因是,在应用程序运行缓慢之前,性能问题通常不是那么显而易见。
  
  而且应用程序的设计不是说改就改的,人们解决性能问题最简单直接的办法就是提高其硬件性能。
  
  虽然这种办法也有一定效果,不过它不能真正完全解决问题,这也是为什么人们常常将性能低下归结为硬件问题的原因。
  
  虽然硬件有时候确实会导致性能问题,但多数情况下它却不是主要原因。
  
  为了防止你的服务器硬件给SQL Server应用软件拖后腿,首先让我们简单看一下一些常见的硬件选择和调优问题。
  
  选择硬件
  
  为你的SQL Server应用选取最佳硬件要参照很多因素,诸如数据库的规模、用户的数量,数据库被使用的方式(OLTP或OLAP)等等。
  
  虽然没有成功的公式来估算服务器硬件需求,最好的办法就是在开发阶段提前开始测试你的应用。
  
  尽管许多有经验的DBA可以对你所需要的最佳硬件给出合理的估测,只有通过实际的测试才可确信满足你的应用需要的硬件是什么。
  
  在考察服务器硬件时,需要牢记以下硬件选择方面的事项:
  
  CPU:要购买可以扩展CPU数量的服务器。
  
  例如,通过测试结果你认为单CPU服务器就够用,那么你应该购买具备至少两个CPU安装空间的服务器,哪怕现在空着另一个CPU插槽的位置。
  
  预留下将来升级扩展的空间。
  
  内存:它可能是对SQL Server的性能影响最大的硬件部分。
  
  理想情况下,你的整个数据库应该可以fit into内存。
  
  不幸的是,这一般是不可能的。
  
  最低要求是,内存的大小应该能够容纳你的数据库中最大表,如果经济上可以接受,为服务器配备其能够支持大小的内存,换句话说,内存多了没坏处。
  
  I/O子系统:它对SQL Server性能的影响仅次于内存,也非常重要。
  
  最低要求是,使用硬件RAID系统来运行你的数据库。
  
  大概来说,你应该购买多个小硬盘,而不是一个大硬盘。
  
  在阵列中的硬盘数量越多,就可以获得更快的I/O。
  
  网络连接:在你的数据库服务器上,至少应该有一个百兆网卡,而且它应该连接到一个交换机上。
  
  理想情况下,服务器应该有两块网卡,通过全双工方式连接到交换机。
  
  调优服务器
  
  如果没有正确的配置和优化,最贵的服务器硬件未必具有最好的性能。
  
  我曾经遇到过很多硬件相关的性能问题,其多数原因是驱动未正确安装。
  
  这些硬件性能相关的问题中很多往往难于跟踪和解决。
  
  一般来说,应该让一个有经验的技术高手来确保硬件被正确安装和配置。
  
  然后,在该服务器被用于生产环境之前,在一定条件下测试你的应用程序,以发现潜在的性能问题。
  
  另外,你的操作系统也必须被正确的配置,这涉及到很多方面,在这儿无法具体介绍。
  
  为了在一个服务器获得最好性能,SQL Server应该独享一台服务器,而不应该同时还安装其它管理工具。
  
  不要为了省一点钱而将你的IIS或MTS服务器与SQL Server安装在同一台服务器上。
  
  这不仅仅会影响SQL Server的性能,而且使得性能调优和故障排查工作非常难于进行。
  
  优化SQL Server配置
  
  调优SQL Server的另一个常见误解是,为了获得最佳性能你必须定制优化它的多处配置。
  
  对于一些早期版本的SQL Server来说,这种做法或许有一定道理,但是对于最近版本的SQL Server,配置通常已经不再是一个问题,当然对于那些超大、超忙碌的服务器来说或许是另外一种情况。
  
  多数情况下,SQL Server可以自我调优。
  
  也就是说,SQL Server可以检查自己运行的任务,然后自动进行内部调整,以使指定任务获得尽可能高的性能。
  
  当你对SQL Server进行性能测试时,需要牢记SQL Server需要花一点时间来将自己调整到最优化。
  
  换言之,启动SQL Server服务后你立即获得的性能,与在有负载情况下运行几个小时后的SQL Server的性能是不相同的。
  
  因此在进行测试之前,要让SQL Server有一定时间来适应你的负载。
  
  通过企业管理器,或者sp_configure存储过程,你可以修改36个SQL Server配置选项。
  
  如果你没有调优SQL Server的丰富经验,我不建议你修改任何SQL Server的设置。
  
  如果你是一个新手,你所做的修改往往会适得其反,会降低SQL Server的性能。
  
  因为一旦修改了SQL Server的设置后,会使其丧失其自我调优的能力。
  
  如果经过深思熟虑后,你仍然认为修改一个或多个SQL Server配置可以提高其在特定环境下的性能,那么你应该稳妥谨慎的来对其进行修改。
  
  在你修改设置前,首先应通过诸如性能监视器之类的工具来了解当前SQL Server的性能,以其作为基准。
  
  每次只进行一处修改。
  
  不要一次进行多个修改,因为这样你无法明确每一个设置带来了性能上的什么变化。
  
  在进行了一处修改后,再次在相同负载下测量SQL Server的性能是否真正有所提高。
  
  如果没有,那么恢复到默认设置。
  
  如果的确有提高,再继续检查性能在其它负载下是否也会提高。
  
  通过后期测试,你或许会发现你的修改在某些负载下可以提高性能,但在其它负载下却会降低性能。
  
  这也是为什么我不推荐你修改多数设置的原因之一。
  
  一般来说,如果你的SQL Server应用程序遭遇到了性能相关问题,通过修改SQL Server设置方法解决这些问题的可能性非常小。

分享到:
本文"提高SQL Server应用程序性能硬件配置的方法"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(1)
100%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4