- 下载地址http://jmeter.apache.org/download_jmeter.cgi
image.png
- 解压,进入bin,输入
sh jmeter.sh
即可启动

3.下面使用http请求简单测试:
-
添加线程组
-
配置线程组
image.png
-
创建http请求
image.png
-
配置返回断言
image.png
-
配置汇总树
image.png
-
运行

- 看下吞吐量图,明现相应时长越来越长:

吞吐量常用简易公式:QPS(TPS)= 并发数/平均响应时间
4.使用hessian调用简单测试:
-
建一个hessian 客户端jar
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中,
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptors>
<descriptor>src/main/assembly/src.xml</descriptor>
</descriptors>
</configuration>
</plugin>
</plugins>
</build>
添加src/main/assembly/src.xml文件
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>jar-with-dependencies</id>
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<useProjectArtifact>true</useProjectArtifact>
<outputDirectory>/</outputDirectory>
<!--解压文件,以class形式打到包中,此处用这个-->
<unpack>true</unpack>
<scope>runtime</scope>
</dependencySet>
</dependencySets>
<fileSets>
<fileSet>
<directory>${project.build.outputDirectory}</directory>
<outputDirectory>/</outputDirectory>
</fileSet>
</fileSets>
</assembly>
-
maven打包
image.png
生成带所有依赖的包

-
将jar包放到jmeter安装目录的lib/ext下
image.png
-
配置jmeter
- 添加线程组(同上)
- 添加汇总报告,和结果树(同上)
-
添加BeanShell取样器
image.png
配置取样器
image.png
脚本:
import com.example.demojpa.hessian.*;
String r=HessianClient.testPay();
记住HessianClient的testPay方法必须为public static的.
运行线程组:

网友评论