JMeter压测工具使用

JMeter入门

压测服务器每秒的QPS(Query Per Second),即服务器每秒处理的数据流量多少。

下载地址: http://jmeter.apache.org/

具体使用步骤

添加一个线程组
在这里插入图片描述
设置线程数、线程启动时间(在几秒内启动全部线程)、循环执行时间
在这里插入图片描述
配置默认http请求
在这里插入图片描述

在这里插入图片描述
添加具体的请求路径
在这里插入图片描述

在这里插入图片描述
添加聚合报告(用来查看压测结果)
在这里插入图片描述
聚合报告结果,最关注的是Throughput表示吞吐量
在这里插入图片描述

其实这里测出的结果是不正确的,因为在进入goodslist表单之前,服务器还会根据请求中是否存在合法的cookie来决定要不要处理这个请求,如果不存在cookie则跳转到login页面。所以在这里应该给jmeter请求中加入已经存在的cookie

具体步骤:
可以获取到一个已经存在并且能够登陆成功的cookie
在这里插入图片描述
在JMeter中添加一个cookie管理器,并将这个可用的cookie添加进去

在这里插入图片描述
在这里插入图片描述
再来测试一次;
在这里插入图片描述

打开任务管理器,然后再次运行jmeter,可以看到mysql占了很大的cpu资源,所以瓶颈就在数据库。

自定义变量模拟多用户

定义一个获取用户的Controller

@Controller
@RequestMapping("/user")
public class UserController {

    @RequestMapping("/info")
    @ResponseBody
    public Result<MobileUser> getUser(MobileUser user){
        return Result.success(user);
    }
}

在这里插入图片描述
可以从压测聚合报告中看到,吞吐量已经明显比先前测量goodslist时候提高了好几倍。而且在服务器的日志中没有查看到任何sql语句,说明这个请求没有与数据库进行交互,而是直接从redis中取出的user对象。

模拟不同的用户来请求测压

创建一个配置文件
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

JMeter命令行使用

Redis压测工具redis-benchmark

redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -n 100000 //100个并发连接,100000个请求
redis-benchmark -h 127.0.0.1 -p 6379 -q -d 100   //存取大小为100字节的数据包

可以看到redis的QPS达到了5次幂级别。100000个请求在1.72秒内完成,每次用3个字节加载
在这里插入图片描述
再来看看第二条命令,每次使用100字节加载,可以看到QPS更高了
在这里插入图片描述

测试redis中指定命令的QPS,上面默认测试的是全部命令
在这里插入图片描述
测试指定操作的QPS
在这里插入图片描述

Spring Boot打war包

1. 添加spring-boot-starter-tomcat的provided依赖

<groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
       <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

2. 添加maven-war-plugin插件
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值