压测的简介说明

1.背景介绍
性能测试、负载测试、压力测试

负载测试:负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担。在一定的工作负荷下,给系统造成的负荷及系统响应的时间。

压力测试:压力测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况,目的是找到系统在哪里失效以及如何失效的地方。在一定的负荷条件下,长时间连续运行系统给系统性能造成的影响。包括:

Spike testing(尖峰冲击测试):短时间的极端负载测试

Extreme testing(极端测试):在过量用户下的负载测试

Hammer testing(锤击测试):连续执行所有能做的操作

举个跑步的例子进行解释

1.性能测试,表示在一个给定的基准下,能执行的最好情况。例如,在没有负重的情况下,你跑100米需要花多少时间(这边,没有负重是基准

2.负载测试,也是性能测试,但是他是在不同的负载下的。对于刚才那个例子,如果扩展为:在50公斤、100公斤……等情况下,你跑100米需要花多少时间

3.压力测试,是在压力情况下的性能测试。对于刚才那个例子,如果改为:在一阵强风的情况下,你在负重或没有负重的情况下,跑100米需要花多少时间

2.知识剖析
JMeter怎么使用

重要的组件:

它的作用其实是为了模拟用户,所以也叫Users。一个线程组模块可以包含多个线程,每个线程代表一个用户,这样可以模拟高并发下的请求,并根据网站的响应信息来判断网站的相关性能。
可以设置线程数,实现并发,设置启动时间,实现瞬发;设置循环时间,实现持续长度;

HTTP请求:

可以通过设置ip、端口、方法、路径已经参数访问服务器

查看结果树:

可以请求信息以及服务器响应数据

聚合报告:

可以查看所有请求的综合情况。主要参数:Samples(请求次数)、Average(平均响应时间)、Error%(错误比率)、Throughput(每秒处理的请求数)

3.常见问题
1.JMeter的使用步骤

(1)添加线程组

(2)添加http请求

(3)在http请求中写入接入url、路径、请求方式和参数

(4)添加查看结果树

(5)调用接口、查看返回值

2.压测任务需求的确认

压测前要明确压测功能和压测指标,一般需要确定的几个问题:

  1. 固定接口参数进行压测还是进行接口参数随机化压测?

  2. 要求支持多少并发数?

  3. TPS(每秒钟处理事务数)目标多少?响应时间要达到多少?

  4. 压服务器名称还是压服务器IP,一般都是压测指定的服务器

3.压测设置

  1. 线程数:并发数量,能跑多少量。具体说是一次存在多少用户同时访问

  2. Rame-Up Period(in seconds):表示JMeter每隔多少秒发动并发。理解成准备时长:设置虚拟用户数需要多长时间全部启动。如果线程数是20,准备时长为10,那么需要10秒钟启动20个数量,也就是每秒钟启动2个线程。

  3. 循环次数:这个设置不会改变并发数,可以延长并发时间。总请求数=线程数*循环次数

  4. 调度器:设置压测的启动时间、结束时间、持续时间和启动延迟时间。

4.编码实战
线程组设置:
在这里插入图片描述

HTTP请求设置:
在这里插入图片描述

聚合报告:
在这里插入图片描述

查看结果树:
在这里插入图片描述

5.拓展思考
压测结果的分析

  1. 有错误率同开发确认,确定是否允许错误的发生或者错误率允许在多大的范围内;

  2. Throughput吞吐量每秒请求的数大于并发数,则可以慢慢的往上面增加;若在压测的机器性能很好的情况下,出现吞吐量小于并发数,说明并发数不能再增加了,可以慢慢的往下减,找到最佳的并发数;

  3. 压测结束,登陆相应的web服务器查看CPU等性能指标,进行数据的分析;

  4. 一般不断增加并发数,达到一个值后,服务器出现请求超时,则可认为该值为最大的并发数。

  5. 影响性能考虑点包括:数据库、应用程序、中间件(tomact、Nginx)、网络和操作系统等方面。

6.参考文献
https://zhidao.baidu.com/question/498084507.html

http://www.51testing.com/html/56/n-3723356-2.html

https://blog.csdn.net/github_27109687/article/details/71968662

作者:qq_41829464
来源:CSDN
原文:https://blog.csdn.net/qq_41829464/article/details/81189921
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/Clown01/article/details/87882643