I T 技 术
2011 NO.01
Science and Technology Innovation Herald
科技创新导报
1 性能优化的概念
性能优化是一项活动,这项活动通过优化应用程序、修改系统参数、改变系统配置(硬件调整)来改变系统性能。性能优化包括对硬件配置、操作系统(0S)与关系型数据库管理系统(RDBMS)配置,以及对访问这些组件的应用的详细分析与优化。
1.1应用优化
应用是最有可能导致性能问题的部分。应用优化相对来说通常易于监控,有时也易于修改,以达到更高的效能。通过优化应用,也可以影响优化硬件与SQL Server,这样可以有效地控制应用不会过量地使用系统资源。应用优化是基于SQL Server系统性能调整的第一步,涉及应用系统程序优化、SQL语句优化、Web应用优化、服务器优化、索引、锁优化等诸多因素。
1.2SQL 语句优化
应用优化包括分析SQL语句,并决定相关的查询是否有效。低效率的查询通常使用过量的系统资源并需要使用过多的时间来运行。通过调整这些SQL语句,以及调整访问数据库应用的方法,可以显著地改善一个系统的性能。查询是数据库操作的基础,查询的速度直接影响系统的性能,和其他大型数据库系统一样,SQL server也提供了查询优化机制,对查询语句进行分析,找出最佳查询策略,从而提高查询速度。但是,查询优化器很难解决语义方面的问题,在具体应用中,应有效运用SQL语法。1.3B/S模式优化
基于B/S的计算模式,使得许多计算负载转移到Web服务器和数据库服务器上。为有效利用系统资源,可根据具体应用采取以下优化策略。
(1)Web应用程序优化
在基于B/S模式的数据库应用系统中,对于Web应用程序的优化主要体现在对应用程序中使用的数据库操作语句的优化上。其中要遵循的一个基本原则就是要使操作的数据量和操作次数随操作的进行而迅速减少,这样才能达到理想的响应结果。
(2)Web服务器优化
主要是调节访问Web服务器的限制规则和Web应用程序运行的限制规则,其中后者的调整将是系统能够稳定高效运行的关键。由于客户对于Web服务器的访问量是相当大的,所以在调整中,一般要限制
Web应用程序运行的时间和占用的系统资
源,避免出现资源枯竭的情况发生。
2 SQL Server 优化策略
SQL 优化与硬件调整是紧密相关的,
是对数据库服务器的性能调整。通过修改
SQL server的配置参数,SQL优化包括改变
它分配资源的方法以及它的工作方式。有
些配置参数与资源的使用有关,有些则无
关。那些与资源使用有关的参数紧密地依
赖于系统中可用的硬件资源。这些参数必
须基于系统中可用的硬件资源的类型与数
量进行修改。具有许多可用内存的系统应
该调整SQL server,以充分利用这些附加的
内存。应该修改输入/输出(I/O)参数,以充
分利用系统中所拥有的I/O系统类型。SQL
Server调整与硬件调整包括为需求的工作
量提供足够的系统资源。总的说来,SQL
Server调整涉及服务器硬件调整、数据库优
化设计、SQL server配置参数调整等内容。
3 硬件优化策略
硬件优化,是为要求的工作量提供足
够的硬件资源的行动,包括数据库大小估
计与容量规划。容量规划包括计划一个系
统的容量,以维护用户组预期的服务级别。
要调整系统的硬件,需要决定可以为SQL
Server分配哪些资源以改进其性能,这些资
源包括附加的内存、CPU、I/O资源或所有
这些资源的组合。调整SQL server系统的大
部分工作主要涉及决定应该增加哪种资
源,以及增加多少资源。
硬件调整是非常重要的,因为许多典
型的性能问题是由不充足的或配置失当的
硬件组件导致的。I/O子系统是一个数据库
性能调整的关键性部分。通过提供足够的
CPU、内存与I/O资源,可以避免许多性能
问题。
4 性能优化的目标
有不同的方式确定性能优化工作的目
标。数据库应用系统可以用各种定量的方
法分析,其中最重要指标如下:
(1)响应时间和吞吐量
响应时间是指结果集的第一行返回所
需要的时间,是应用做出反应的时间,以毫
秒或秒表示,该值越低越好。响应时间通常
也称为用户收到查询正被处理的直观确认
时刻所感知的时间长度。数据库用户响应
时间又可以分为系统服务时间和用户等待
时间两项,即:数据库用户响应时间=系统
服务时间+用户等待时间。
吞吐量是指给定时间内服务器能够处
理的查询总数,即每个单元时间完成的工
作,以每秒钟的事务量表示;该值越高越
好。提高系统的吞吐量也有两种方法。
(2)数据库的可用性
数据库是否能满足7×24小时的要求。
如:SQLServer2000增强了对Windows NT
和Windows2000故障转移群集的支持。故障
转移群集支持每个群集有一到四个服务
器,具体取决于操作系统。群集在应用程序
看来就像是单个虚拟服务器。如果主服务
器节点出现故障,另一节点将检测出主服
务器节点丢失,并自动开始为所有发送到
虚拟服务器的请求提供服务。群集在备用
节点下保持运行,直到修复或替换主服务
(3)数据库的命中率
用户对数据的需求是否能在内存中得
到满足,给出快速的响应。可用高速缓存命
中率来衡量。这一比率是高速缓存命中总
数除以自SQL Server实例启动后对高速缓
存的查找总数。由于从高速缓存中读数据
比从磁盘中读数据的开销要小得多,一般
希望这一数值高一些。通常,可以通过增加
SQL Server可用的内存数量来提高高速缓
存命中率。
参考文献
[1]党会军.数据库性能评测与分析.国家
智能计算机研究开发中心,2002.
[2]汪东升.基于Web应用的数据库性能调
整和优化[J].计算机工程与应用,1999.
8.
[3]赵敏.基于SQL Server性能调整和测评
方法[J].计算机工程,2000.5[30].
[4]任淑琴,周柏涛.基于Web的数据库应
用程序优化的技术[C].中国航空学会青
年科技论坛文集,2004,21(4):558-55.
[5]聂文燕.SQL Server数据查询的优化方
法[J].工程技术与管理论坛,2006,8(4):
59-61.
SQL Server数据库的性能分析与优化策略研究
杨柳
(达州职业技术学院 四川达州 635000)
摘 要:数据库性能分析与优化是一项涉及多个层面的复杂工作,通过统一规划、系统分析做出相应的优化方法和措施,可以提高数据库
的稳定性和可用性,保障系统高效地运行,解决系统瓶颈,节约系统开销,具有良好的应用价值。
关键词:数据库 性能优化 SQL Server
中图分类号:TP311.13文献标识码:A文章编号:1674-098X(2011)01(a)-0035-01
35
科技创新导报 Science and Technology Innovation Herald