博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Dubbo接口压测
阅读量:6520 次
发布时间:2019-06-24

本文共 1015 字,大约阅读时间需要 3 分钟。

在每年的双十一大促之前,除了全链路压测,还需要各个业务方对自己业务提供的核心接口进行单接口压测,以评判系统的稳定性和承压能力。

 

一、准备工作

  1. 环境准备:确保应用性能环境(perf)正常可用
  2. 压测接口梳理:通过 ops平台 - 应用 - 监控模块 [] 获取频繁访问的接口,确定需要压测的接口列表
  3. 测试数据准备:根据接口请求的参数列表,从qa库中捞取需要的测试数据,导出到csv备用

 

二、压测脚本编写(jmeter版本3.2)

A: Nova或Dubbo接口

  1. 这类接口的压测需要借助jmeter的高级功能,通过jar包的方式执行dubbo接口
  2. 脚本编写参考 :qa/bit-performance.git 工程,原理就是使用jmeter提供的插件,获取jmeter中配置的参数,并执行dubbo接口调用和预期的返回结果校验。其中要直连perf环境的ip:port
  3. 脚本编写完并且测试通过之后,打包 (mvn clean install -e -U -Dmaven.test.skip -Pperf -Denvironment=perf)
  4. 将打包的文件copy到 jmeter目录下的 ../lib/ext/ 目录
  5. 启动jmeter,创建一个Simpler为java的请求时,即可加载我们配置的jar
  6. 将参数设置为从csv文件获取,这里需要注意几点:
    1. 如果csv文件中第一行有标题,那需要Ignore first line
    2. 在本地调试脚本的时候,cas的路径是本地相对路径,如果上传到压测平台时,需要修改为和jmx文件的相对路径,即相同路径
    3. 如果你不需要将csv中的参数增加引号,设置Allow quoted data为false

B: Http接口

  1. http接口不需要额外写请求工程,直接配置jmx文件
  2. 其他内容和dubbo接口类似

C:压力模型配置

  1. jmeter插件支持Concurrency Thread Group,需要添加jar包
    1. 官方最新版本:
    2. 可用低版本:

  2. 使用原生的压力模型

三、压测平台执行

参考  和 ,保证能正确使用性能平台,并且能获取监控数据

    1. 设置好业务线、应用,并配置测试计划,将所有需要的dubbo压测脚本jar、jmx、csv、依赖的concurrency jar包全部上传到测试计划中
    2. 测试任务中,需要配置应用机器和进程号,以确认能收集到正确数据
    3. 查看压测结果,看qps、rt、系统负载、错误率,评估性能

转载地址:http://qsrfo.baihongyu.com/

你可能感兴趣的文章
小葵花妈妈课堂开课了:《AsyncTask源码分析》
查看>>
Go 面向对象编程(译)
查看>>
Xcode 创建自定义模板
查看>>
【100题】第三十三 高级字符匹配(和谐系统原理)
查看>>
ios解决button重复点击的问题
查看>>
1711: [Usaco2007 Open]Dingin吃饭
查看>>
Anti-debugging Skills in APK
查看>>
BJFU-ACM 12月8日月赛官方题解
查看>>
<HTTP权威指南>记录 ---- 网络爬虫
查看>>
[leetcode] 242. valid anagram
查看>>
Welcome to my blog
查看>>
SpringBoot2 | Spring IOC 流程中核心扩展接口的12个扩展点源码分析(十一)
查看>>
grub密码
查看>>
menuStrip之MdiWindowListItem判断子窗口是否被打开的方法
查看>>
Tree树 递归查询,显示成JSON格式
查看>>
Vs2019 C# .net core 将证书添加到受信任的根证书存储失败,出现以下错误:访问控制列表(ACL)结构无效...
查看>>
Java添加快捷键
查看>>
Freebsd10.3(FreeBSD11 Beta1)使用手记
查看>>
Oracle 数据类型
查看>>
【算法学习笔记】88.显式DFS SJTU OJ 2202. 梅西的过人
查看>>