软件测试 | 性能分析的基本原则
  p1prOQge3cDY 2023年11月02日 30 0

1.性能分析的基本原则

确定测试结果有效之后,接下来就要开始对测试数据进行深入地挖掘了。面对经过测试工具产生的纷繁复杂的原始测试数据,如果来进行分析呢?一个普遍遵循的原则是“由外而内,由表及里,层层深入”,如图4-1所示。

软件测试 | 性能分析的基本原则_服务器

对于一个应用系统,性能开始出现下降的最直接表象就是系统的响应时间变长,于是,系统响应时间成为分析性能的起点。性能分析的原则如图4-1所示,首先应该从原始测试数据中查看系统响应时间,判读它是否满足用户对性能的期望。如果不满足,则说明系统的性能出现了问题。发现系统存在问题后,接着就要判断系统在哪个环节出现了瓶颈。

现在的IT系统架构极其复杂,任何一个环节出现瓶颈,都会导致系统出现性能的问题。要准确地判断瓶颈在什么地方,的确是一个棘手的问题。不过,任何复杂的系统无非是分为网络和服务器两部分。因此要考察的第二个问题就是:系统的瓶颈是出现在网络环节,还是在服务器环节?

如图4-2所示,用户从客户端发起的请求数据包经过网络,传递到应用服务器,最后到达数据库服务器,服务器处理完毕后按原路返回到客户端。在这个处理过程中,可以把整个时间分为两段:一段是Tn,即网络的响应时间;一段是Ts,即服务器的响应时间,包括应用服务器和数据库服务器的响应时间。对比Tn和Ts,就很容易知道系统在哪些环境的响应时间比例较大。

软件测试 | 性能分析的基本原则_服务器_02

判断系统的瓶颈是出现在网络还是服务器端后,就可以进一步层层推进,对相应环节更详细的组件响应时间进行深入分析,直到最后找到造成性能问题的根本原因。

借助于LoadRunner的分析组件Analysis,很容易按照“由内而外,由表及里,层层深入”的原则进行分析,快速将问题定位。例如图4-3所示的事务,可以直接看出瓶颈出现在网络上。

软件测试 | 性能分析的基本原则_服务器_03

2.性能分析任重而道远

看了前面的内容,也许很多人会以为性能分析非常容易,借助工具即可完成,但实则不然。即使有了正确的测试结果,也不一定能对系统的性能问题进行正确的定位。例如,服务器的内存不够可能会引起较大的磁盘I/O,进而导致CPU利用率居高不下——而根本原因可能是程序内部存在内存泄漏,而不是内存瓶颈。这类问题不但要靠经验,更要靠对系统的深入了解。

不难看出,性能测试是难度较大的一项工作,绝对不是一蹴而就的事情。根据作者的经验,最好的办法是把性能贯穿于性能测试过程的始末,所有人员都应该给予高度关注。

实际上,性能测试分析从测试场景时就开始了,而不是仅仅在测试结束后才进行。例如,在测试执行过程中可以借助分析数据库,观察事务实时响应时间来发现一些问题。

除了这些通用的方法外,性能测试分析人员应该积极的提高自己:在测试设计、执行、分析等各个阶段把工作做透,这样才可以把性能测试工作做好。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
p1prOQge3cDY
最新推荐 更多