APMCon工行银行测试部
中国应用性能管理行业盛宴——中国应用性能管理大会(简称APMCon)于8月18日至19日在北京新云南皇冠假日酒店隆重召开。APMCon由听云、极客邦和InfoQ联合主办的作为国内APM领域最具影响力的技术大会,首次举办的APMCon以“驱动应用架构优化与创新”为主题,致力于推动APM在国内的成长与发展。
工行银行测试部高级经理李雁南于性能可视化专场发表了题为《传统架构下性能测试的方法探索和实践》的演讲,现场解读了针对快速增长的性能测试需求的解决方案,以及所选择了构建性能监控体系的方式。
以下为演讲实录:
各位好,我叫李雁南,来自中国工商银行数据中心。首先非常高兴能有这么多同学在这儿,我也知道现在其他三个屋都是大师级的人物,我从小也是看他们书长大的,我希望到结束的时候依然能看到很多小伙伴没有离开。
我的演讲的题目是《传统架构下的性能测试方法探索和实践》,首先解释一下传统架构是什么概念?因为这个概念相对来说比较模糊的。可能现在所谓的先进架构过了两年也就成为了传统架构。我个人理解,所谓的传统架构就是竖井式架构,每个应用都有自己单独的操作系统、数据库、中间件,我们的应用程序是部署在数据库和中间件上的。应用与应用之间是通过中间件进行交互的。
一、功能测试,性能测试需求,性能测试
在一开始,我想跟大家分享一句话,这是我在刚入职的时候,从一位做性能测试的前辈那儿听到的,对我启发很大:他说业务流经所有的单元,当压力增大时,必然会导致存在效率问题的单元堵塞,并体现在资源使用率的异常上。我们性能测试所要做的就是利用各种手段发现背后的异常和原因。这句话高度概括了性能测试活动的目的和方法,也指导着我们过去很多年的性能测试活动。但是最近一两年,我们发现这句话不这么准确了,后面我介绍的时候,大家可能也会有这种感觉。
说说以前到底是什么样的,上图这三个颜色分别代表了功能测试、性能测试需求和性能测试活动。大家看到,在以前性能测试需求其实只占功能测试的一小部分,我们的性能测试活动,基本上能覆盖我们绝大部分的性能测试需求,但是随着近几年互联网的兴起以及我们技术的快速发展,我们的用户量在不断的增长,我们的业务种类在不断的丰富,我们的系统规模也越来越大。我们的数据量也呈现了一个几何级数的增长,这就导致了我们的功能也在快速的增长,对于性能测试的需求也是爆发式的增长,但是对于性能测试活动资源的投入,以及性能测试本身的方法却没有一个很大幅度的提升,这样就导致了我们现在的性能测试活动,不能完全覆盖我们实际的性能测试需求。
每次版本投产以后,大家都有这种感觉,有很多性能问题会流入到生产,而这种性能问题,它不像是功能问题,性能问题会影响到整个系统不可用,会产生一个全局性的影响,这样带来的风险是非常大的。怎么解决这个问题?最简单的一个方法,就是说我们能够增加我们的性能测试需求的场景,不断的投入人力加班,或者投入更多的资源。灰色的过程是一个很真实的写照,就是说我们性能测试人员每天都在干什么,与功能测试协调资源,准备测试数据,白天调脚本,晚上跑压测,但是问题发现的非常少,而且每次投产以后,有很多性能问题流入到生产,感觉到很累,而且很没有成就感,感觉身体被掏空了一样。
那怎么办?现在的问题主要有两方面的矛盾:像下图绿色部分写的,版本周期越来越短,但是资源投入却没有相应的增加,因为测试毕竟是一个有限投入的活动,不可能无限制的增长。
第二个矛盾,覆盖率和性能测试活动成本之间的矛盾。在要求覆盖率不断的增长的同时性能测试的成本却没有相应的降下来,这两个矛盾直接导致了性能测试活动无法正常有序开展,或者说无法起到应该有的作用。我们也想了很多办法,能不能对测试整个环境做一个全方位的监控,把数据采集下来,通过对于数据的处理,能够从中发现我们的性能问题。
就像上图那样,我们定了几个目标:
第一,系统要能够支持海量的管理对象。因为我们的测试环境应该有多服务器
第二,重点
转载请注明:http://www.duanmaomaos.com/tzyhjy/542615.html