ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 测量、基线和性能优化之二:基线和性能

测量、基线和性能优化之二:基线和性能

原创 Linux操作系统 作者:sunsapollos 时间:2013-10-22 20:51:29 0 删除 编辑
        性能的通俗描述就是运行的快或者慢。大家都知道快或者慢没有一个绝对的标准,所有的快或者慢都是基于比较而言。比如我们在操场上跑100m,15s完成,没有人会觉得你跑的快,只会觉得你跑得慢,因为大家都有一个比较的基准,大部分人都可以在12~15之间跑完。同样的100m,如果你是跑楼梯,大家会觉得跑的太惊人。快慢好坏都是基于比较而言,没有比较就没有性能。
       为了使我们的性能优化工作更加科学,我们不能依赖于经验来建立比较点,毕竟经验很难放之四海。我们需要建立量化的性能基本比较点,我们每次衡量快或者慢的时候都和这个比较点进行比较来确定快或者慢,这个比较点我们描述为基线。我们通过一个简单的例子来说明基线之于性能优化的重要性:
        某业务系统性能最近变得很差,需要进行性能优化。性能优化专家发现一个明显的现象,CPU利用率达到100%,几乎没有空闲而言,依据经验,该专家认为这个100%的CPU利用率是属于一个坏指标,并且认为这个是其根本原因。通过艰苦的优化工作,CPU利用率有所下降,但是性能并没有获得提高,显然专家找错了方向。事实上,没有人告诉他,这个系统从上线以来其CPU一直工作在100%状态下,一直性能运行良好。如果具有这个CPU的利用率基线,专家就不会犯这个错误,可以正确的把握方向。事实上进一步测量指标可以发现,虽然CPU利用率100%,但是其服务能力没有任何问题,并没有在CPU上形成大规模冲突导致其单次服务能力下跌。
       
       基线的存在可以大大的减轻性能优化者的负担,基线的存在可以使性能优化不再是高手的专利,普通的性能优化工作者甚至缺乏任何数据库知识的人都可以轻松的发现导致业务系统性能变差的原因:我们只要把每个可测量的指标值和该指标的基线值进行比较,出现大规模偏差一般情况下就是性能问题的根源所在。
       这里需要注意一点,不存在着万能基线,不同的业务特征必须建立其不同的基线。比如我们普通人的短跑速度不能以博尔特在北京奥运会的100m成绩作为比较基线,更加不能拿F1塞车的速度作为基线。一般来说,对于每个不同的业务,我们至少需要建立两根基线:峰值业务基线和正常业务基线。
       为了使基线更好的工作和沟通,我们不仅仅需要建立依赖于可测量技术指标的基线,还需要建立基于沟通的基线:感性基线。感性沟通基线以吞吐量和响应时间为基础,对于目标系统进行性能上的描述。沟通基线最重要的目的是确定业务的变化,相当多的性能问题是由于业务变化以及其他各种相关的变化引起的。沟通基线可以从三个方面来进行描述:性能感受、运行用户、运行业务。
       比如下面是一个沟通基线的简单描述:

       性能感受: 基本不会出现客户在等,我也在等的情况下,大约1~2秒钟响应,大部分应该在1s左右,个别时候会有2s,偶尔出现可以接收。存盘的时候会产生打印单子,由于发票打印机的速度慢,这个时候快慢不会有太大的感觉。不过我们操作的时候为了加快速度,往往那边在打印单子,这里就开始接受新的业务。存盘慢不要紧,但不能影响我新工作的开始。
      运行用户: 早上8:00到位,8:15分左右正式工作,大约有4500~5000个人在做同样的工作。一旦开始工作我们一般要到中午吃饭退出系统,下午13:00左右开始工作,17:30分开始陆续下班,依据忙碌程度会延迟到20:00,但一般来说20:00之后就不会再做事情。
      运行业务: 主要是营业受理,变更,缴费等业务,都是面向客户交互的。
    
   
      

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

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

注册时间:2013-10-15

  • 博文量
    68
  • 访问量
    725137