jmeter 压测duobbo接口,jmeter代码不合理,导致每执行一次请求,会调用一次消耗内存的实例化。导致越压越慢,请求发不出去。这个时候需要考虑修改代码了。

截图中,tps越来越少。

原来初始化的代码放在

runTest中执行。修改后放在
setupTest方法中运行,只运行一次。解决实例化消耗内存问题。
import com.alibaba.fastjson.JSONObject;
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
import org.springframework.context.support.ClassPathXmlApplicationContext;import java.util.Date;public class TestMsgTemplate extends AbstractJavaSamplerClient {private static TemplateMsgFacade templateMsgFacade;@Overridepublic void setupTest(JavaSamplerContext arg0) {if (TestMsgTemplate.templateMsgFacade == null) {ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:app-dubbo-client-context.xml");TestMsgTemplate.templateMsgFacade = (TemplateMsgFacade) context.getBean("templateMsgFacade");}}@Overridepublic Arguments getDefaultParameters() {Arguments params = new Arguments();params.addArgument("templateCode", "");return params;}@Overridepublic SampleResult runTest(JavaSamplerContext javaSamplerContext) {String templateCode = javaSamplerContext.getParameter("templateCode");SampleResult sr = new SampleResult();sr.setSampleLabel("MsgTemplate:消息模板");sr.sampleStart();TemplateMsgDto dto = new TemplateMsgDto();dto.setTemplateCode(templateCode);dto.setMobile("13922808010");dto.setPointCode("FC7555535");TemplateMsg msg = templateMsgFacade.getMsgTemplate(dto);String abc = JSONObject.toJSONString(msg);msg = null;if(abc.contains("templateSource")){//sr.setResponseData("templateSource 成功"+ templateCode, null);sr.setResponseData(templateCode+"成功", null);sr.setDataType("text");sr.setSuccessful(true);sr.setResponseCodeOK();}else{// sr.setResponseData("templateSource 失败"+ templateCode, null);sr.setResponseData(templateCode+"失败", null);sr.setDataType("text");sr.setSuccessful(false);sr.setResponseCode("404");}sr.sampleEnd();// abc = null;return sr;}/*** @param args*/public static void main(String[] args){for(int i = 0;i <20000000;i ++){System.out.println(i);Date nowTime = new Date();System.out.println(nowTime);//方法二:Date方式,输出现在时间Arguments params = new Arguments();params.addArgument("templateCode", "hibox.noticeStaffAgainPost_ZH_CN");JavaSamplerContext arg0 = new JavaSamplerContext(params);TestMsgTemplate qap = new TestMsgTemplate();qap.setupTest(arg0);qap.runTest(arg0);qap.teardownTest(arg0);}}
}

重新运行压测代码j结果,tps 明显提高很多:

jmeter 压测duobbo接口,施压客户端自己把自己压死了相关推荐

  1. 阿里云性能测试服务 PTS 新面貌 - 压测协议、施压能力全新升级

    作者:笛墨 审核&校对:风云 编辑&排版:雯燕 引言 性能测试 PTS(Performance Testing Service)是一款阿里云 SaaS 化的性能测试工具,从最早为了精准 ...

  2. 如何用jmeter压测java接口,Jmeter接口压测快速入门

    [TOC] Jmeter简介 Jmeter是Apache开源的一个使用纯Java编写的压力测试工具,它最初是为测试web应用程序而设计的,但后来扩展到了其他测试功能.例如,可用于测试静态和动态资源以及 ...

  3. Apache JMeter 压测webservice接口

    文章目录 一.压测设置和参数说明 二.服务台控制监控 三.查看结果树 四.查看聚合报告 一.压测设置和参数说明 压测设置 说明 线程数 并发数量,能跑多少量.具体说是一次存在多少用户同时访问. Ram ...

  4. python接口压测1000并发_测试工具:黑羽压测

    前言 很多朋友对性能测试有种深深的误解:认为 只要学会 使用一款 性能测试工具,点点界面,配配数据,就能做好性能测试了. 不是这样的!! 性能测试 通常 要真正做好 很不容易. 它需要测试人员: 有产 ...

  5. 接口压测_Locust接口压测和插入集合点实战

    Loucust最新版本是1.4.1,可以查看开源代码 注意: 新版本有几点变化,老版本写法已改变,举个例子: 原先写法:from locust import HttpLocust现在写法:from l ...

  6. 压测——普通接口压测

    理论说明 普通接口压测就是对接口的高频率访问 验证条件主要看两点,一是请求的成功率 二是请求的响应时间 辅助验证条件:可以看服务器的CPU以及内存的运行情况 实际操作 确定压测接口,设计好脚本,通知有 ...

  7. 压测|关于PHP7和5.6的压测对比

    机器配置 $ cat /proc/cpuinfo $ cat /proc/versionLinux version 2.6.32-431.el6.x86_64 (mockbuild@c6b8.bsys ...

  8. 高德全链路压测——语料智能化演进之路

    背景 高德地图作为日活过亿的国民级出行生活服务平台,承载着海量用户服务的是后台的超大规模集群.从用户角度,如果出问题,影响会很大.3机房异地部署造成线上环境复杂,链路复杂.在这样的条件下,如何避免因故 ...

  9. java fastdfs 压测_利用jmeter+JAVA对RPC的单接口(dubbo接口等)进行性能测试,零基础(2)...

    建立JAVA项目 建立maven项目,加入Jmeter所需要的JAR包依赖. POM.xml  加入如下: org.apache.jmeter ApacheJMeter_core 3.2 org.ap ...

最新文章

  1. SAP QM初阶事务代码QA11对检验批做UD时出现很多UD Code的选择集?
  2. Java基础之I/O流
  3. 你的“苦劳”,真的不值钱!
  4. Py之wxPython:利用wxPython设计CMD软件窗口进行交互可视化
  5. 两个整数百分百C语言,2011年9月份计算机二级C语言上机题库(百分百准确),,,[1]
  6. python从date目录导入数据集_使用python划分数据集
  7. 数据分析 数据清理_数据清理| 数据科学
  8. 百度网盘php文件怎么打开,如何通过网页版百度网盘下载大文件
  9. Netty-2-服务端创建多个handler
  10. 失去老罗,张一鸣的坚果手机多了什么?
  11. linux 编译.sh,Linux内核编译步骤
  12. DML、DDL的概念与区别
  13. SystemCenter2012SP1实践(2)部署证书服务器
  14. 客户信息管理系统(java)
  15. 晶体三极管的输入特性和输出特性
  16. Centos 6.6安装chrome 谷歌浏览器
  17. oracle几何体数据类型,4.2 SDO_GEOMETRY类型、属性和值
  18. Java基础-Lambda表达式基础练习
  19. 3J9D在contour-level之下
  20. Poco库使用:操作Json格式数据

热门文章

  1. c语言编程函数补充上机题,2011年计算机二级C语言上机操作题及答案(10)
  2. 本地网页服务器 跨域,nodejs搭建本地服务器轻松解决跨域问题
  3. 为什么叫日上_古雷150万吨乙烯,为啥叫芒果项目?
  4. leetcode933. 最近的请求次数
  5. leetcode239. 滑动窗口最大值
  6. java数据包解析_请教http请求数据包如何解析 重组
  7. distenct oracle_Oracle的distinct关键字
  8. python turtle画圣诞树动图_圣诞节!教你用Python画棵圣诞树
  9. 基于ECC算法的秘钥协商
  10. 算法入门篇九 暴力递归