记一次性能测试实践

发表于:2018-2-08 10:33  作者:小鸡炖蘑菇   来源:51Testing软件测试网采编

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签: 性能测试 软件测试技术

  今天迫不及待的想和大家分享一的是,我在项目Web性能测试的摸底过程,欢迎大家给出意见和建议,共同学习,共同进步。
  测试目的:对系统整体接口进行摸底,梳理出不达标接口
  接口指标:关键接口90%响应时间不超过1000ms,成功率100%
  测试场景:10用户并发运行20分钟
  首先是脚本准备,接口脚本尽量做到全场景覆盖(也可以是覆盖与项目组确定的主要性能测试场景),使用的工具是jmeter,通过在工作台添加非测试元件HTTP代理服务器,设置目标控制器、包含模式、排除模式等内容,然后进行脚本录制,并对脚本进行优化,当然也可以通过Fiddler工具录制脚本,另存为jmx格式,再导入到jmeter中,此过程不详述,感兴趣的同学可以进行自学。
  脚本准备好了,不要急于压测,要考虑从哪里看压测的结果(或者说是如何获取压测结果),并提前做好配置,我主要从如下3个方面进行了配置:
  ⑴在jmeter中,我给整个测试计划添加了监听器聚合报告,压测后可以导出聚合报告的图表数据,从中可以梳理出不达标的接口,从而进行针对性的压测,如下截图所示:
  ⑵设置jmeter日志输出和日志级别(此日志需要设置BeanShell断言,在请求失败的接口进行配置,别急,在后面会讲),修改jmeter安装文件中,bin目录下的jmeter.properties文件,调整日志级别为ERROR,如下截图所示:
  ⑶另外,我开启了mysql慢查询日志,主要是在压测过程中,观察是否存在慢查询的sql。(linux下开启mysql慢查询日志很简单,自行百度
  准备工作就绪,接下来就是压测了。第一次我设置线程数为1,持续时间20min,得到聚合报告;第二次设置线程数为10,持续时间20min,得到聚合报告;通过对比两次结果梳理出90%响应时间不达标的接口,以及出现请求失败的接口。
  针对请求失败的接口,调整jmeter脚本,给请求失败的接口添加BeanShell断言,如下图所示,然后再进行一次10并发20min的压测,从jmeter.log日志中获取接口请求失败的原因,深入挖掘接口请求失败的原因。
  本次摸底过程中,数据量并不大,慢查询日志中没有记录。一旦数据量大了,再去实施压测,可能就会出现慢查询的sql。
  过程中的小技巧:
  在压测过程中,我的jmeter本身出现过卡死以及内存溢出的现象,我的解决办法如下:
  ①压测的时候禁用查看结果树
  ②修改jmeter安装文件中,bin目录下的jmeter.bat文件,调整堆内存大小,修改完成后,关闭文件,重启jmeter即可。
  今天的分享到此为止,步骤有点乱,欢迎大家批评指正~


上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。

Python+Selenium大型电商项目(京东商城)实战直播,优惠名额抢占中>>

评 论

论坛新帖

顶部 底部


建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海瀛东律师事务所 张楠律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2018, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道