ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle性能优化方法论的发展之五:基于工作单元的响应时间分析的性能优化方法论

Oracle性能优化方法论的发展之五:基于工作单元的响应时间分析的性能优化方法论

原创 Linux操作系统 作者:sunsapollos 时间:2013-10-26 18:10:56 0 删除 编辑
       基于响应时间分析的TBA方法是Oracle性能方法论的一大进步,也是目前Oracle主导的主流性能优化方法论。TBA对于优秀的性能优化者是一个利器,但是对于中初级DBA来说,显的过于复杂,特别是TBA方法由于是基于时间段快照分析的方法,当和基线数据进行比较的时候会有些不知所措。让我们再次回到吞吐量的性能曲线:
     

        性能优化的目标就是延长曲线突变点,从而使其更加可以获得更高的吞吐量。TBA关键的问题在于缺乏衡量吞吐量的基础标准,或者说对于每个业务系统都具有其特定吞吐量描述,这样就给TBA分析带来巨大的困难。比如说CRM业务系统,我们的标准吞吐量为:每小时5000个受理、20000个开通等等描述,但你会发现你无法把这些描述和数据库的监控关联起来。Transaction数量,每个DBA都知道同样不能作为比较基准,即使每笔业务都构成事务还有事务复杂度的区分,这个时候我们几乎只能够通过特征SQL的运行去进行吞吐量的统计。
       为了获得一个通用的业务特征和吞吐量的描述,我在TBA的基础之上进行了进一步的研究,希望获得很好描述访问特征和访问能力的监控指标以更好的来完成TBA分析。 Craig A. Shallahamer的研究成果正好和我所寻求的方向一致,基于工作单元的TBA分析方法可以很好的克服TBA方法的不足, Craig A. Shallahamer的具体成果可以参考他的网站:www.orapub.com。从我的角度老说, Craig A. Shallahamer是最为杰出的性能优化领域研究者,大家可以定期光顾他的网站,几乎所有内容都可免费下载,当然也有可能和我的阅读面不够广有关。
      衡量任何一个业务系统的运行,我们可以从两个基本方面来进行考察:访问特征和访问能力。
      访问特征体现了业务系统运行的负载特征,主要用来衡量吞吐量曲线的吞吐量。当一个业务系统的访问特征发生了变化,特别其访问特征预期在吞吐量突变点之上,可以期望业务系统的性能将会发生变异。或者说业务系统的访问特征发生了明显的变化,可以期望以下两点正在发生:(1)、有新的业务正在加入,需要引起关注。(2)、原有业务的访问特征发生了变化,可能会引起重大的性能问题。
      访问能力体现了业务系统运行的响应时间特性,主要用来衡量吞吐量曲线的响应时间,一个性能表现良好的熊,响应时间或者访问能力必须控制在可接受的范围之内,否则就表示业务系统性能不佳。
      数据库应用系统在考虑数据库黑盒子的情况下,我们可以用两个基本性能指标来衡量访问特征和访问能力:LIO(逻辑IO)和PIO(物理IO)。数据库应用一般来说运算量很少,绝大部分数据库应用的运算转换消耗可以忽略不计,LIO基本可以代表CPU消耗运行。
      任何业务系统在不考虑运行和网络交互的情况下,都可以归类为两类基本的操作:LIO和PIO。每个业务系统不管其业务模式如何变化,SQL语句如何多变,其最终有效性都可以通过这两个指标来进行特征衡量。我们以每秒或者每分钟多少个LIO和PIO来衡量业务特征,LIO和PIO的数量和两者之间的比例就构成了现有业务系统的运行特征,而LIO和PIO的具有相互转换的关系甚至可以归结为一个指标衡量业务系统的运行。
     访问特征:每秒运行的LIO和PIO数量。
     访问能力: 每个LIO和PIO的响应时间。
     辅助描述:每秒事务数量
                         SQL Execute数量
                         特征SQL Execute数量
   
     响应时间(LIO):= 服务时间 + 等待时间
     响应时间(PIO):=服务时间+等待时间
     对于PIO来说可以进一步分解为:
     响应时间(PIO):=服务时间+IO服务时间+其他等待时间
   
    再次回到吞吐量曲线:
   

 
       
    可以看到,最根本的区别在于吞吐量的描述比较标准TBA分析更加的清晰,使基于业务的TBA分析可以简单的转化为基于技术的TBA分析。
    从工作单元分析可以发现基本存在三类问题:
   (1)、LIO或者PIO在没有达到基线标准的情况下发生了性能变异。
   (2)、LIO或者PIO在达到或者超过基线标准的情况下发生了性能变异。
   (3)、LIO或者PIO的特征发生了变化导致了性能变异。

    不同的性能问题可以具有不同的考虑方向:
   第一类问题:基本可以考虑配置变更或者资源提供者发生了故障。
   第二类问题:期望中的性能异变,可以从降低业务运行特征的数量(LIO和PIO)方向来考虑问题,使其回到突变点之下,并重新建立吞吐量突变曲线。这种变异基本可以考虑以下三个不同原因:(1)、业务量发生变化  (2)、数据规模发生变化 (3)、访问终端的数量发生变化。
   第三类问题:基本可以考虑两个原因:原有业务的访问特征发生变化,比如SQL语句的执行计划发生变化或者有的新的加入。执行计划变化使其回到原来的位置。

   基于工作单元的TBA分析方法,是我目前比较重视的优化方法论,特别作用预防性性能监控之中具有重大的意义。工作单元的TBA分析方法将会贯穿全书,几乎在每个章节都会涉及,特别在Oracle性能度量和预防性性能优化中将主要依赖工作单元的TBA方法论来进行。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/92650/viewspace-775093/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
专注于Oracle,BI,Security,DR &^BCP,Performance tuning

注册时间:2013-10-15

  • 博文量
    68
  • 访问量
    726255