- 谷粒商城-分布式基础篇【环境准备】
- 谷粒商城-分布式基础【业务编写】
- 谷粒商城-分布式高级篇【业务编写】持续更新
- 谷粒商城-分布式高级篇-ElasticSearch
- 谷粒商城-分布式高级篇-分布式锁与缓存
- 项目托管于gitee
谷粒商城-分布式高级篇-压力测试
压力测试考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统瓶颈所在。压测都是为了系统在线上的处理能力和稳定性维持在一个标准范围内,做到心中有数。
使用压力测试,我们有希望找到很多中其他测试方法更难发现的错误。有两种错误类型是:
- 内存泄漏
- 并发与同步
有效的压力测试系统将应用以下这些关键条件:重发、并发、量级、随机变化
2.1、性能指标
-
响应时间(Response Time: RT)
响应时间指用户从客户端发起一个请求开始,到客户端接收到从服务器返回的响应结束,整个过程所耗费的时间。
-
HPS (Hits Per Second) : 每秒点击次数,单位是次/秒
-
TPS (Transaction per Second) :系统每秒处理交易数,单位是笔/秒
-
QPS (Query per Second) :系统每秒处理查询次数,单位是次/秒。
对于互联网业务中,如果某些业务有且仅有一个请求连接,那么 TPS=QPS=HPS,一般情况下TPS来衡量整个业务流程,用QPS来衡量接口查询次数,用HPS来表示对服务器单击请求。 -
无论 TPS、QPS、HPS,此指标是衡量系统处理能力非常重要的指标,越大越好,根据经验,一般情况下:
- 金融行业:1000TPS~50000TPS,不包括互联网化的活动
- 保险行业:100TPS~100000TPS,不包括互联网化的活动
- 制造行业:10TPS~5000TPS
- 互联网电子商务:10000TPS~1000000TPS
- 互联网中型网站:1000TPS~50000TPS
- 互联网小型网站:500TPS~10000TPS
-
最大响应时间 (Max Response Time) : 指用户发出请求或者指令到系统做出反应(响应)的最大时间
-
最少响应时间 (Mininum ResponseTime) :指用户发出请求或者指令到系统做出反应 (响应)的最少时间
-
90%响应时间 (90% Response Time) :是指所有用户的响应时间进行排序,第 90% 的响应时间
-
从外部看,性能测试主要关注如下三个指标
- 吞吐量:每秒钟系统能够处理的请求书、任务书
- 响应时间:服务处理一个请求或一个任务的耗时
- 错误率 :一批请求中结果出错的请求所占比例
2.2、使用JMeter测试项目
2.2.1、安装 Apache JMeter
安装 Apache JMeter
第一步、下载安装包
第二步、解压安装包
下载完成后,在终端(Terminal)中使用cd命令进入下载文件夹中,在终端(Terminal)中输入:
tar zxvf apache-jmeter-5.4.3.tgz
第三步、启动 JMeter
通过cd命令进入到bin目录下,通过sh jmeter命令来启动JMeter,打开路径如下图所示:
hgw@HGWdeMacBook-Air bin % pwd
/Users/hgw/Documents/Software/apache-jmeter-5.4.3/bin
hgw@HGWdeMacBook-Air bin % sh jmeter
设置中文:
2.2.2、JMeter 压测示例
2.2.2.1、创建一个用户组,并设置参数
2.2.2.2、创建一个HTTP取样