利用Jmeter进行接口并发测试

一、Jmeter简介

  • Jmeter是由Apache公司开发的一个纯Java的开源项目,即可以用于做接口测试也可以用于做性能测试。
  • Jmeter具备高移植性,可以实现跨平台运行。
  • Jmeter可以实现分布式负载。
  • Jmeter采用多线程,允许通过多个线程并发取样或通过独立的线程对不同的功能同时取样。
  • Jmeter具有较高扩展性。

Windows下安装Jmeter

Jmeter下载地址

在这里插入图片描述
因为Jmeter是用java编写的,因此要想使用必须要安装JDK,JDK的安装就不做赘述了
下载成功后,解压
到解压文件夹中的bin目录下双击jmeter.bat
弹出这样的框说明运行成功了
在这里插入图片描述
最开始打开时是英文的,那么为了使用方便,可以将其设置成中文的

设置Jmeter语言为中文环境

1、临时设置

Jmeter菜单栏选择Options–>Choose Language–>Chinese (Simplified)

这种方法,重启软件后又变为英文环境了。

2、永久设置

进入apache-jmeter-5.2.1\bin目录,找到“jmeter.properties”文件,在文件的第37行后添加“language=zh_CN”,保存之后再打开jmeter就永久变为中文环境了。
在这里插入图片描述
设置完成之后重启软件, 就会变成中文的了

Jmeter简单使用

  1. 创建线程组
    在这里插入图片描述
  2. 设置线程组
    在这里插入图片描述
  3. 创建http请求
    在这里插入图片描述
    要调用的接口地址为http://127.0.0.1:8080/api/v3/userinfo/list, 请求方法为GET请求, 可以以此来对照一下对应的配置
    在这里插入图片描述
    在这里插入图片描述
    右击并启动就能进行测试了

简单进行并发测试

简单创建一个springboot项目
创建一个Conrtroller

package come.pangting.api.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import java.util.concurrent.atomic.AtomicInteger;

@RestController("userInfoController")
@RequestMapping( "api/v3/userinfo")
public class UserInfoController {
    public static final String CTRL_PRODUCE = "application/json;charset=UTF-8, text/plain;charset=UTF-8";
    private static volatile AtomicInteger atomicInteger = new AtomicInteger();
    private static Integer count = 0;
    @RequestMapping(value = "/list", method = RequestMethod.GET, produces = CTRL_PRODUCE)
    public Object userList() {
        atomicInteger.addAndGet(1);//线程安全
        count++;//线程不安全
        System.out.println(  "正确请求数: " + atomicInteger.get() + "; 存在线程安全的请求数:" + count);
        return null;
    }

}

我们都知道自增的操作是线程不安全的, 而我们利用原子类AtomicInteger 和volatile关键字修饰变量atomicInteger ,从而保证线程安全.接下来我们启动Jmeter进行测试
在这里插入图片描述
可以看到最终的结果

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值