51Testing丛书独家连载:(一)性能测试从零开始——LoadRunner入门与提升

发表于:2011-1-06 17:03

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:柳胜    来源:51Testing软件测试网

  总结

  数据是性能量化分析最重要的基础和前提。要想做到量化分析,需要在不同的时间和空间内重复执行性能测试,并收集详细而全面的度量数据。在某种程度上来说,没有采集度量数据的性能测试是毫无意义的。

  案例分析  性能bug定量分析实际案例

  Bug标题:1.1版本升级到1.2后login action发生40%的性能衰减。

  测试环境:某Web订票系统1.2版本。

  场景描述:50用户ramp并发login运行一个小时,thinktime 500毫秒。

  测试结果:1.2版本Login Service花费时间为4.2秒,而1.1版本同样的场景案例则花费2.4秒。

  对1.2版本上采集的性能度量数据进行下钻细分,Oracle DB的AWR TOP SQL report捕捉到一条sql语句耗时达1.5秒。

  select username,password from ocs_data.auth_users where NLSSORT(username,'NLS_SORT=GENERIC_M_CI') = NLSSORT('ocsadmin', 'NLS_SORT=GENERIC_M_CI')

  对比1.1版本的AWR Report,发现这是一条1.2版本新引入的sql语句。1.1版本同样作用的sql语句为:

  select username,password from ocs_data.auth_users where username= 'ocsadmin'

  耗时仅为50毫秒。

  解决建议:

  新sql语句耗时时间较长,是由于where使用了新的字段表达式,而使得原有的字段索引没有排上用场。建议建立新的字段索引。

  Bug总结:

  上面的bug分析逻辑清楚,直接揭示瓶颈根源,定位到了语句级别。能完成这样的量化分析,依赖于以下几个基础条件:

  ● 节点数据采集点详细而全面,在oracle DB上使用awr 进行sql语句采集,这为sql语句性能分析提供了数据基础。

  ● 周期数据持续采集形成对比基准。在1.1和1.2版本中持续进行性能回归测试,直接将新旧版本上top sql进行对比,这为瓶颈定位提供了逻辑条件。

本文选自:《51Testing软件测试作品系列》之一的《性能测试从零开始——LoadRunner入门与提升》,本站经电子工业出版社和作者的授权,近期将进行部分章节的连载,敬请期待!

版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们。

44/4<1234
《2023软件测试行业现状调查报告》独家发布~

精彩评论

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号