您当前的位置: 首页 >  压力测试

止步前行

暂无认证

  • 0浏览

    0关注

    247博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

使用JMeter进行压力测试

止步前行 发布时间:2020-05-27 10:52:06 ,浏览量:0

1. 引言

在日常开发中,当完成一个接口开发时,需要对接口进行准确性测试,比如PostManSwagger等,但在接口上线运行前对其进行性能测试是很有必要的,就是所谓的接口压力测试。

压力测试就是考察当前软硬件环境下系统所能承受的最大负荷,并借助结果找出系统瓶颈所在。使用压力测试可以找到更难发现的问题,比如:内存泄漏,并发和同步。

有效的压力测试系统将应用一下这些关键条件:重复、并发、量级、随机变化。

2. 压力测试指标 2.1 性能指标
  • 响应时间(Response Time : RT

    响应时间指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的响应结束,整个过程所耗费的时间,下面熟悉一下结果名词:

  • HPSHits Per Second):每秒点击次数,单位是次/秒

  • TPSTransaction Per Second):系统每秒处理交易数,单位是笔/秒

  • QPSQuery Per Second):系统每秒处理查询次数,单位是次/秒

对于互联网业务,某些业务有且仅有一个请求连接,那么TPS=QPS=HPS,一般情况下,用TPS来衡量整个业务流程,用QPS来衡量接口查询次数,用HPS来表示对服务器单击请求。无论TPSQPSHPS,此指标是衡量系统处理能力非常重要的指标,越大越好。

一般情况下:

金融行业:1000TPS~50000TPS,不包括互联网化的活动 保险行业:100TPS~1000000TPS,不包括互联网化的活动 制造业:10TPS~5000TPS 互联网电子商务:10000TPS~10000000TPS 互联网中型网站:1000TPS~50000TPS 互联网小型网站:500TPS~10000TPS

  • 最大响应时间(Max Response Time):指用户发出请求或者指令到系统做出反应(响应)的最大时间

  • 最少响应时间(Mininum Response Time):指用户发出请求或者指令到系统做出反应(响应)的最少时间

  • 90%响应时间(90% Response Time):是指所有用户的响应时间进行排序,第90%的响应时间。

性能测试主要关注如下三个指标

  • 吞吐量:每秒钟系统能够处理的请求数、任务数,该值越大越好
  • 响应时间:服务处理一个请求或一个任务的耗时
  • 错误率:一批请求中结果出错的请求所占比例
3. JMeter工具使用 3.1 JMeter安装

官网: https://jmeter.apache.org/

在这里插入图片描述 需要注意的是:JMeter5.3版本要求Java8以上版本

3.2 压力测试

将下载的压缩包解压后,进入到bin目录中,双击执行 jmeter.bat,会进入到下面这个页面。

3.2.1 切换成中文

选项 > 选择语言 > 中文

在这里插入图片描述

3.2.2 添加线程组

添加线程组,创建模拟多少个并发用户

在这里插入图片描述

3.2.3 添加HTTP请求

创建完线程组后,再添加http请求,表示要对哪个接口进行测试

在这里插入图片描述

在这里插入图片描述

3.2.4 添加监听器

为需要压测的http请求添加监听器,用户生成测试结果

在这里插入图片描述

在这里插入图片描述

3.2.5 自动压测

在这里插入图片描述

3.2.6 查看结果

可以自行查看压测的结果

3.3 JMeter Address Already in use 错误解决

这个问题是Windows本身提供的端口访问机制引发的,Windows提供给TCP/IP链接的端口为1024-5000,并且要四分钟来循环回收它们,这样会导致我们在较短时间内跑大量的请求时将端口占满了。

解决方法:

  • cmd中,用regedit命令打开注册表

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Tcpip\Parameters

(1)右击parameters,添加一个新的DWORD,名字为MaxUserPort (2)然后双击MaxUserPort,输入数值数据为65534,基数选择十进制, 如果是分布式运行的话,控制机器和负载机器都需要这样操作

  • 修改配置完毕之后,记得重启机器才会生效
  • TCPTimedWaitDelay:30,表示把端口回收时间从4分钟,改为30
关注
打赏
1657848381
查看更多评论
立即登录/注册

微信扫码登录

0.8733s