Mac下jmeter调用http和hessian 测试简介

  1. 下载地址http://jmeter.apache.org/download_jmeter.cgi
    Mac下jmeter调用http和hessian 测试简介_第1张图片
    image.png
  1. 解压,进入bin,输入
    sh jmeter.sh

即可启动


Mac下jmeter调用http和hessian 测试简介_第2张图片
image.png

3.下面使用http请求简单测试:

  • 添加线程组

  • 配置线程组


    Mac下jmeter调用http和hessian 测试简介_第3张图片
    image.png
  • 创建http请求


    Mac下jmeter调用http和hessian 测试简介_第4张图片
    image.png
  • 配置返回断言


    Mac下jmeter调用http和hessian 测试简介_第5张图片
    image.png
  • 配置汇总树


    Mac下jmeter调用http和hessian 测试简介_第6张图片
    image.png
  • 运行

Mac下jmeter调用http和hessian 测试简介_第7张图片
image.png
  • 看下吞吐量图,明现相应时长越来越长:
Mac下jmeter调用http和hessian 测试简介_第8张图片
image.png

吞吐量常用简易公式:QPS(TPS)= 并发数/平均响应时间

4.使用hessian调用简单测试:

  • 建一个hessian 客户端jar


    Mac下jmeter调用http和hessian 测试简介_第9张图片
    image.png

    添加核心调用客户端:

package com.example.demojpa.hessian;

import com.alibaba.fastjson.JSON;
import com.caucho.hessian.client.HessianProxyFactory;
import com.yeepay.power.common.enums.order.OrderSourceTypeEnums;
import com.yeepay.power.dto.order.CreateOrderTokenRequestDTO;
import com.yeepay.power.dto.order.CreateOrderTokenResponseDTO;
import com.yeepay.power.dto.order.PayRequestDTO;
import com.yeepay.power.dto.order.PayResponseDTO;
import com.yeepay.power.facade.order.PayFacade;
import java.math.BigDecimal;
import java.net.MalformedURLException;

/**
 * @Description:
 * @Author: kai.yang
 * @Date: 2019-04-24 05:48
 */
public class HessianClient {

    static String local = "http://127.0.0.1:8080";


    private static PayFacade demoFacade;

    static {
        HessianProxyFactory factory = new HessianProxyFactory();
        try {
            demoFacade = (PayFacade) factory.create(PayFacade.class, local + "/power-hessian/hessian/PayFacade");
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
    }


    public static String testPay() {
        if(demoFacade==null){
            throw new RuntimeException("未初始化");
        }
        CreateOrderTokenRequestDTO requestDTO = new CreateOrderTokenRequestDTO();
        requestDTO.setOrderSourceTypeEnums(OrderSourceTypeEnums.PC);
        CreateOrderTokenResponseDTO orderToken = demoFacade.createOrderToken(requestDTO);

        PayRequestDTO dto = new PayRequestDTO();
        dto.setMerchantNo("10040067508");
        dto.setAmount(new BigDecimal("0.01"));
        dto.setUserId("lksdflsdfsdfsdfsdfsf");
        dto.setTernimalNo("T00002");
        dto.setRequestNo(orderToken.getToken());
        dto.setRemark("测试");
        dto.setSupplyStationNo("SS67852010");
        dto.setUserId("17611251251");
        dto.setOrderSourceType(OrderSourceTypeEnums.PC.name());
        System.out.println(JSON.toJSONString(dto));
        PayResponseDTO pay = demoFacade.pay(dto);
        return JSON.toJSONString(pay);
    }

    public static void main(String[] args) {
        HessianClient client=new HessianClient();
        String s = client.testPay();
        System.out.println(s);
    }


}

  • pom中添加assembly配置,将依赖一起打包到jar中,
  
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
            
                org.apache.maven.plugins
                maven-assembly-plugin
                2.4
                
                    
                        src/main/assembly/src.xml
                    
                
            
        
    

添加src/main/assembly/src.xml文件


    jar-with-dependencies
    
        jar
    
    false
    
        
            true
            /
            
            true
            runtime
        
    
    
        
            ${project.build.outputDirectory}
            /
        
    

  • maven打包


    Mac下jmeter调用http和hessian 测试简介_第10张图片
    image.png

生成带所有依赖的包

Mac下jmeter调用http和hessian 测试简介_第11张图片
image.png
  • 将jar包放到jmeter安装目录的lib/ext下


    Mac下jmeter调用http和hessian 测试简介_第12张图片
    image.png
  • 配置jmeter

  1. 添加线程组(同上)
  2. 添加汇总报告,和结果树(同上)
  3. 添加BeanShell取样器


    Mac下jmeter调用http和hessian 测试简介_第13张图片
    image.png

    配置取样器


    Mac下jmeter调用http和hessian 测试简介_第14张图片
    image.png

脚本:

import com.example.demojpa.hessian.*;
String r=HessianClient.testPay();

记住HessianClient的testPay方法必须为public static的.
运行线程组:


Mac下jmeter调用http和hessian 测试简介_第15张图片
image.png

你可能感兴趣的:(Mac下jmeter调用http和hessian 测试简介)