测试内容为 主机地址+随机数
package com.hainiu.example;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Random;
import static java.net.InetAddress.getLocalHost;
@RestController
@RequestMapping(value = "example")
@Slf4j
public class Example {
private static Long num = 1L;
private static String ipAddress = "";
static{
InetAddress inetAddress = null;
try {
inetAddress = getLocalHost();
} catch (UnknownHostException e) {
throw new RuntimeException(e);
}
ipAddress = inetAddress.getHostAddress();
}
@RequestMapping(value = "test",method = RequestMethod.GET)
public String test(@RequestParam(name="count",required = false,defaultValue = "0")Integer count){
if(count == 0){
count = 10;
}
Random r = new Random();
int rInt = r.nextInt(100000);
num++;
if(num % count == 0){
log.info("call me");
num = 1L;
}
return ipAddress+"_success_"+rInt;
}
}
1.idea中打包项目(直接在idea中运行项目也可以,这里尝试另一种运行方式,模拟上线情况)
2. 后台运行项目(windows)
<jdk/bin目录> java -jar jar包地址
C:\Program Files\Java\OpenJDK8U-jdk_x64_windows_hotspot_8u432b06\jdk8u432-b06\bin>
java -jar "C:\test\springboot\target\springboot-1.0.0-SNAPSHOT.jar"
3. 准备测试
1)限制内存 -Xmx128M -Xms128M
<jdk/bin目录> java -jar jvm参数设置 jar包地址
C:\Program Files\Java\OpenJDK8U-jdk_x64_windows_hotspot_8u432b06\jdk8u432-b06\bin> java -jar -Xmx128M -Xms128M "C:\test\springboot\target\springboot-1.0.0-SNAPSHOT.jar"
2) 检查jvm参数 是否生效
如果有多个进程,把idea关闭就只会剩下一个后端的进程 pid 9204
jcmd <PID> VM.flags
//查看jvm参数
3)启动jmeter 直接双击bat, (可临时设置成中文使用)
4)访问网址,确认无误
http://主机名:8080/example/test
查看主机地址 ipconfig
连的wife就是:无线网连接的ipv4 或者运行开头的程序可以看到自己的主机地址
5) 填写 jmeter 计划
在浏览器打开网址,右键点击检查,复制请求头的部分内容 ,没有请求就刷新一下,重新请求
(如果你要测有登录验证的接口/网址,请求头带上验证信息(比如token)即可)
粘贴,没用的删掉
拼起来就是网址
请求结果里面有success就算成功记为1次
手动启动测试 每次1个请求,这里我代码里写错了,写的sucess,就把断言也改成sucess,成功
改成永远,发现后台一直在刷,说明成功测试
参数自己设置,下次测试前要清除上一次的结果树,不累积到这次
用户为5000 观察结果出现较多异常,吞吐量下降,大量http请求没有通过