压力测试

压力测试是看当前软硬件环境下系统所能承受的最大负荷,找出系统瓶颈。为了在线上的处理能力和稳定性维持在一个标准范围内,做到心中有数。

在压力测试,我们希望找到其他测试方法(单元测试)更难发现的错误,比如内存泄漏,并发与同步问题。
有效的压力测试将应用重复、并发、量级、随机变化的关键条件。

性能指标

  • 响应时间(Response Time: RT)
    响应时间指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的响
    应结束,整个过程所耗费的时间。
  • HPS(Hits Per Second) :每秒点击次数,单位是次/秒。
  • TPS(Transaction per Second):系统每秒处理交易数,单位是笔/秒。
  • QPS(Query per Second):系统每秒处理查询次数,单位是次/秒。
    对于互联网业务中,如果某些业务有且仅有一个请求连接,那么 TPS=QPS=HPS,一般情况下用 TPS 来衡量整个业务流程,用 QPS 来衡量接口查询次数,用 HPS 来表示对服务器单击请求。
  • 无论 TPS、QPS、HPS,此指标是衡量系统处理能力非常重要的指标,越大越好,根据经验,一般情况下:
    金融行业:1000TPS50000TPS,不包括互联网化的活动
    保险行业:100TPS
    100000TPS,不包括互联网化的活动
    制造行业:10TPS5000TPS
    互联网电子商务:10000TPS
    1000000TPS
    互联网中型网站:1000TPS50000TPS
    互联网小型网站:500TPS
    10000TPS
  • 最大响应时间(Max Response Time) 指用户发出请求或者指令到系统做出反应(响应)的最大时间。
  • 最少响应时间(Mininum ResponseTime) 指用户发出请求或者指令到系统做出反应(响应)的最少时间。
  • 90%响应时间(90% Response Time) 是指所有用户的响应时间进行排序,第 90%的应时间。
    从外部看,性能测试主要关注如下三个指标:
    吞吐量:每秒钟系统能够处理的请求数、任务数。
    响应时间:服务处理一个请求或一个任务的耗时。
    错误率:一批请求中结果出错的请求所占比例。

JMeter

下载

https://jmeter.apache.org/download_jmeter.cgihttps://jmeter.apache.org/download_jmeter.cgi
在这里插入图片描述

启动jmeter

在这里插入图片描述

可以将语言调整为简体中文

在这里插入图片描述

测试步骤

1、 新建测试计划
在这里插入图片描述
2、 添加线程组
在这里插入图片描述
3、 给线程组添加测试行为 取样器
在这里插入图片描述
例如常用的http请求
在这里插入图片描述
4、查看结果需要添加监听器
在这里插入图片描述
比如结果数查看 失败还是成功了
汇总报告可以查看指标 吞吐量
聚合报告 可以看请求响应情况 吞吐量
各种图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

JMeter Address Already in use

windows 提供TCP/ip 连接的端口为1024-5000 并且要四分钟才来循环回收,就会导致在短时间内大量请求将端口占满了
解决方案

  1. cmd(WIN+R) 中 用regedit 命令打开注册表
  2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip
    在这里插入图片描述
  3. 新建两个DWORD 的值 最大端口和超时时间 重启电脑后生效
    在这里插入图片描述
    在这里插入图片描述

作者声明

1
如有问题,欢迎指正!