如何进行Dubbo接口压测?

发表于:2019-1-07 10:34

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

 作者:小学生II    来源:博客园

  在每年的双十一大促之前,除了全链路压测,还需要各个业务方对自己业务提供的核心接口进行单接口压测,以评判系统的稳定性和承压能力。
  一、准备工作
  环境准备:确保应用性能环境(perf)正常可用
  压测接口梳理:通过 ops平台 - 应用 - 监控模块 [示例] 获取频繁访问的接口,确定需要压测的接口列表
  测试数据准备:根据接口请求的参数列表,从qa库中捞取需要的测试数据,导出到csv备用
  二、压测脚本编写(jmeter版本3.2)
  A: Nova或Dubbo接口
  这类接口的压测需要借助jmeter的高级功能,通过jar包的方式执行dubbo接口
  脚本编写参考 git@gitlab.qima-inc.com:qa/bit-performance.git 工程,原理就是使用jmeter提供的插件,获取jmeter中配置的参数,并执行dubbo接口调用和预期的返回结果校验。其中要直连perf环境的ip:port
  脚本编写完并且测试通过之后,打包 (mvn clean install -e -U -Dmaven.test.skip -Pperf -Denvironment=perf)
  将打包的文件copy到 jmeter目录下的 ../lib/ext/ 目录
  启动jmeter,创建一个Simpler为java的请求时,即可加载我们配置的jar
  将参数设置为从csv文件获取,这里需要注意几点:
  如果csv文件中第一行有标题,那需要Ignore first line
  在本地调试脚本的时候,cas的路径是本地相对路径,如果上传到压测平台时,需要修改为和jmx文件的相对路径,即相同路径
  如果你不需要将csv中的参数增加引号,设置Allow quoted data为false
  B: Http接口
  http接口不需要额外写请求工程,直接配置jmx文件
  其他内容和dubbo接口类似
  C:压力模型配置
  jmeter插件支持Concurrency Thread Group,需要添加jar包
  官方最新版本:jmeter-plugins-cmn-jmeter-0.4.jar
  可用低版本:jmeter-plugins-standard-1.4.0.jar
  使用原生的压力模型
  三、压测平台执行
  参考性能测试平台使用帮助  和 性能测试平台如何获取监控数据,保证能正确使用性能平台,并且能获取监控数据
  设置好业务线、应用,并配置测试计划,将所有需要的dubbo压测脚本jar、jmx、csv、依赖的concurrency jar包全部上传到测试计划中
  测试任务中,需要配置应用机器和进程号,以确认能收集到正确数据
  查看压测结果,看qps、rt、系统负载、错误率,评估性能

     上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号