使用Jmeter中的Java Request进行性能测试

本文介绍了如何使用JMeter进行Java Request性能测试,包括创建Maven项目,添加JMeter依赖,编写Java Sample,打包并放入JMeter的lib/ext目录。同时,分享了两个优化技巧:一是通过基类封装减少冗余代码,二是利用Maven插件自动化打包和复制jar到JMeter目录,简化测试流程。
摘要由CSDN通过智能技术生成
在使用jmeter进行性能测试的时候,有可能会需要通过一些脚本去测试性能,(比如通过sokeeper的api去测试sokeeper的读写性能)。这时,我们可以通过Java Request实现,以下是操作步骤。

   首先创建一个maven project。

因Jmeter的Java Request脚本依赖Jmeter的一些核心jar包,所以我们要maven项目的pom文件中添加Jmeter的一些依赖包:ApacheJMeter_core、ApacheJMeter_java:

   

  编写Java Sample,继承AbstractJavaSample,并重写以下方法:

?
    public  Arguments getDefaultParameters();可选,定义可用参数及默认值;  
·   public  void  setupTest(JavaSamplerContext arg0):可选,测试前执行,做一些初始化工作;
·   public  SampleResult runTest(JavaSamplerContext arg0);必选,实现自定义请求;  
·   public  void  teardownTest(JavaSamplerContext arg0):可选,测试结束时调用;

示例代码:

?
import  org.apache.curator.RetryPolicy;
import  org.apache.curator.framework.CuratorFramework;
import  org.apache.curator.framework.CuratorFrameworkFactory;
import  org.apache.curator.retry.ExponentialBackoffRetry;
import  org.apache.curator.utils.EnsurePath;
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;
  
public  class  CuratorRequestSample  extends  AbstractJavaSamplerClient {
     protected  CuratorFramework client =  null ;
     protected  long  subCount = 1l;
     protected  long  TOTAL_SUB_COUNT = 100000l;
     /**
      * 定义可用参数及默认值
      */
     public  Arguments getDefaultParameters() {
         Arguments params =  new  Arguments();
         params.addArgument( "connect_str" "192.168.103.136:2181,192.168.103.154:2181" );
         // 设置参数,并赋予默认值0
         return  params;
     }
     /**
      * 可选,测试前执行,做一些初始化工作,在Jmeter执行的时候,一个Thread只执行一次setupTest方法
      */
     public  void  setupTest(JavaSamplerContext context) {
         String connect_str = context.getParameter( "connect_str" );
         RetryPolicy retryPolicy =  new  ExponentialBackoffRetry( 1000 4 );
         client =
             CuratorFrameworkFactory.builder().connectString(connect_str)
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值