跟踪数据库性能变化

发表于:2008-09-08来源:作者:点击数: 标签:数据库性能跟踪
我们都听过一个流行的说法"唯一不变的,就是变化"。变化是不可避免的。对于不断发展的企业,这意味着管理应用数据库环境的时候,IT总在发生重要的变化。通常,昨天还运行良好的数据库系统在今天可能会遇到严重的问题。发生了什么变化呢?这篇文章将讨论: 介
我们都听过一个流行的说法"唯一不变的,就是变化"。变化是不可避免的。对于不断发展的企业,这意味着管理应用数据库环境的时候,IT总在发生重要的变化。通常,昨天还运行良好的数据库系统在今天可能会遇到严重的问题。发生了什么变化呢?这篇文章将讨论:

介绍

      这篇文章讨论了一些优化商业套装软件的机会。负责可接受应用性能的应用管理团队成员可能是这篇文章讨论受益最多的。这篇文章中主要集中在数据库调优,所以数据库管理员(DBA)和开发者可能发现这篇文章很有价值。我们将讨论与这些产品和所考虑策略相关的基本调优问题,还有可能帮助你进行成功调优的技术建议。

       通常在数据库环境中发生变化的种类

       这些变化是如何跟应用性能相关的

       在数据库环境中跟踪变化的重要性

       如何应用变化跟踪的信息改善整个数据库系统性能,可用性和稳定性

      在今天竞争激烈的市场中,IT管理变化的能力是成功的关键。公司希望IT部门提供功能强大的,具有高可用性的和性能已优化的应用系统。当IT部门忽略主动地监测,分析和经常地报告系统性能时,系统性能将开始下降,并且最终用户将开始遭受长的应用响应时间。因此IT的使用效率将大打折扣。这篇文章也将提供改善IT效率的具体方法。

变化是不可避免的

      变化是复杂的企业数据库和应用环境中唯一不变的特征。理解变化的结果和如何正确地管理它们,能够帮助数据库管理员,准备变化实施和测量这些变化给系统带来的正面(或者是反面)影响。通常,有计划地变化,管理员可以期望得到正面的结果,而没有计划地变化能够对整个系统健康,引起意想不到的或负面的影响。举一个有计划地变化带来性能改善的的例子,根据Oracle 10g PL/SQL的文档,从Oracle 9iR2升级到Oracle 10g能够产生2.5倍的中等程度的性能改善。然而,存在异常,大部分经验丰富的DBA能够记得OS或数据库升级会引起主要的性能问题或故障。一般来说,有计划地变化应该能够改善系统,尽管偶尔对系统健康会发生非常大的负作用。IT部门快速发现并解决问题的能力,对于维护好的系统健康是至关重要的。在这篇文章中,衡量系统的健康状况在如下几个方面:功能性,可用性,扩展性,稳定性,管理性,安全性和性能。

变化是成功的关键

      结当业务系统变得反应缓慢,没有效率,过时,或者不可用时,这将减少有效操作业务的能力,对于公司产生的是消极影响。IT部门正在寻找一种方法,通过实施积极有计划地变化的有效方式,改善整个系统健康,减少没有计划地变化所带来的消极影响。一句话,业务必须不断适应有效的操作,并且在市场中具有竞争力。

      通常改善系统健康,可以有计划地变化比如:OS升级,安全补丁,内存或者CPU升级和数据库升级。实现这些变化是重要的,并且公司通常通过投资金钱和宝贵的人力资源研究和部署这些变化来估算风险,创建性能良好的系统环境,给最终用户提供有效服务。正确地实施这种变化经常被看作一项投资,并带来收益。最终用户系统操作效率越高,用户对业务的需求越满足且生产力也越高,这就提高了公司产品和服务的质量,最终公司的股票值也就升上去了。

      没有计划地变化会对系统健康产生不利的影响,例如一定字段的意外删除或覆盖,数据库索引的删除,启动错误配置文件和人为错误的数据库或监听过程,包括程序bug和数据入口错误。

      不管是有计划地变化还是无计划地变化,测量变化对于系统的影响很重要的。例如,当计划硬件升级,负责该任务的IT部门将告诉管理部门升级能带来哪些改善。管理部门将衡量这些改善和实施变化所需的投资成本,确定变化是否有好处,或者以后应该避免什么。

      同样地,无计划地变化也能提高IT 部门的能力,这种能力可以快速地发现这些变化;能够显著地改善IT部门迅速解决问题的能力,以便能在变化对系统性能和最终用户生产力产生负面影响之前解决它。

      现在IT部门是如何从有计划地变化中测量和报告有益的结果呢?

对有计划的变化进行测量的好处

      在现在的环境中测量有计划地变化所带来的好处是一件令人畏缩的工作。很多IT公司只能大约估计实施这些变化带来的好处,即使对于最重要和成本最高的项目也是如此,在这些项目中测量变化带来好处的信息是最有价值的。没有合适的数据收集和历史报告产物用于测量与变化相关的有利与不利影响,要收集有用的分析指标用于保证结果对系统影响比较小是几乎不可能。

      当IT部门增加CPU和内存容量时,他们能够通过使用工具或OS命令行,在一定的时间周期中估计变化所带来的好处,比较容易地监测空闲可用资源的总量。但CPU或内存升级是如何影响最终用户性能的?这个问题比较难回答,除非实施不间断地监测解决方案,用于确立过去使用情况模型,比如数据活动等级和应用性能走势。只有这样,IT部门才能主动地比较结果,准确地确定变化所带来的好处,这些好处是与增加CPU或内存资源相关的。

与数据库相关的变化种类

      当仔细地监测时,我们发现以下变化的类型对IT交付更健康系统的能力有一定的影响:系统配置,数据库配置,数据库对象结构,数据库查询优化和用户定义的变化(由DBA或公司发起的有计划地变化)。下面将讨论这些类型的变化。

系统配置

      这种类型的变化是实施良好监测最明显和最有价值的地方。测量和定量系统配置变化带来的好处仍然是个难点。这些变化表现为硬件和操作系统配置的变化,比如:OS参数,CPU,内存,磁盘,网络接口(NIC)和交换文件空间分配的变化。

数据库配置

      这种类型的变化是最复杂的变化类型,因此也是最难于正确跟踪的。数据库配置中的变化引起的影响范围很广,这种变化能够广泛地影响整个数据库性能和所有用户应用。例如,在Oracle中,变化init.ora参数,很可能影响到数据库文件(数据,日志和控制)的位置,大小,状态,回滚片断和临时表空间。在Microsoft SQL Server中,跟踪master数据库配置如文件组,文件,实例配置和数据库定义的变化很重要。master数据库提供了关键的信息如服务器特定的配置,用户登录帐号,运行着的进程数据,系统错误日志,含有初始化用户数据库的信息。另外,Microsoft SQL Server实例中每个数据库所具有的文件组参数,数据库文件(数据,日志和控制)位置,大小和状态信息都跟Oracle有点类似。

原文转自:http://www.ltesting.net