压测学习记录

jmeter

使用

1.新建一个线程组
2. 设置线程组参数。这里配置为:10个线程,同时启动,循环一次。

  • 线程数配置,需求并发用户在1000,这里线程数可配置100–300,一般来说,tps模式不一定需要高并发,线程数尽量不超过1000
  • 持续时间,时间越长,准确性越高,一般定义为5–30分钟内:300秒–1800秒;

在这里插入图片描述 3. 新增http请求默认值。 在上一步创建的线程组上,新增http请求默认值,所有的请求都会使用设置的默认值,这设置协议为http,IP为localhost,端口为8080。
4. 添加要压测的http请求。设置内容编码为UTF-8
5. 添加HTTP信息头管理器
在这里插入图片描述
6. 新增监听器,用于查看压测结果。这里添加三种:查看结果树、聚合报告、图形结果、用表格查看结果,区别在于结果展现形式不同。
7. 点击运行按钮开始压测,并查看结果。

结束压测

何时可以结束压测
一般来说,主要监控聚合报告中三个指标:
1,95%line>=3000ms或5000ms;
2,error%>=预期范围(一般来说1%左右)
3,throughput>=预期值【吞吐量一般来说等于tps,jmeter衡量性能重要指标,当不断增加并发线程的情况下,tps恒定一个指标后,出现下降状态,最高的tps则为阈值tps】

测试报告分析思路:

1)Error%:确认是否允许错误的发生或者错误率允许在多大的范围内;

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

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

4)最大的tps:不断的增加并发数,加到tps达到一定值开始出现下降,那么那个值就是最大的tps。

5)最大的并发数:最大的并发数和最大的tps是不同的概率,一般不断增加并发数,达到一个值后,服务器出现请求超时,则可认为该值为最大的并发数。

6)压测过程出现性能瓶颈,若压力机任务管理器查看到的cpu、网络和cpu都正常,未达到90%以上,则可以说明服务器有问题,压力机没有问题。

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

标准

RBI强调了80%的性能问题可以通过吞吐量测试来发现,其他20%的性能问题可以通过引入并发用户数等更复杂的场景来发现。

压测需求的确认

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

  • 固定接口参数进行压测还是进行接口参数随机化压测?
  • 要求支持多少并发数?
  • TPS(每秒钟处理事务数)目标多少?响应时间要达到多少?
  • 压服务器名称还是压服务器IP,一般都是压测指定的服务器

指标分析

并发

相对并发和绝对并发

  • 相对并发:指在一个时间段内发生的事情
  • 绝对并发:指在同一时刻发生的事情

一:相对并发

在jmeter的测试计划中添加线程组,设置线程属性,2秒之内启动2000个线程,其对应的相对并发为1000(线程数/启动时间)

二:绝对并发

一般使用同步定时器实现绝对并发,即当所有请求集合完毕之后一块出发

1、jmeter线程组里面可以简单设置多线程,但是当你设置1秒钟50个线程时去看结果其实50个请求跑完并不是在1秒钟之内

2、由于测试的机器本身性能的影响或者是路由宽带等等,2000个请求跑完需要8秒,这时请求里面可以添加个同步定时器(相当于排队集合点),就是在这里等2000个人齐了再一起出发

3、在运行的时候可以看到2000个请求集齐了才会发送请求,查看结果树里面在请求没有集齐时是不会有数据的。

响应时间:

假设我们把响应时间分为如下几段:

用户通过客户端向服务端发出请求的时间为: T1
服务端接收到请求,处理该请求的时间为:T2
服务端返回数据给客户端时间为: T3
客户端接收到响应数据,处理数据呈现给用户时间为:T4

  • 从系统视角来看:
    系统的响应时间Ts= T1+T2+T3。该时间没有包括客户端对数据处理并呈现的时间T4

  • 从用户视角来看:
    用户眼中的的响应时间:Tu = T1+T2+T3+T4。用户通过客户端发出业务请求,到客户端展现相应的请求结果,这个过程的时间越短越好。大多数情况下,我们用jmeter做性能测试的响应时间都以用户视角去看待

  • 从服务器视角来看:
    服务器接收到客户端发送的请求,并给出响应,这个过程所消耗的时间为响应时间,即服务器仅关注T2

吞吐量:

承受压力的TPS = 用户数* 用户活跃数/ 服务器数量/ 打压时间/60秒
80%是活跃用户数,这个也是行业统计,一般这么认为。业务分散在几台服务器上,用用户数➗服务器数量 得到单台服务器承受的用户数,然后根据打压时间 20分钟,算出每秒的支持量。如果算出的数字比你打出来的tps大,说明目前系统承受的压力满足不了现网业务,如果结果比打压的tps小,则满足。
在这里插入图片描述在这里插入图片描述

原文链接:https://blog.csdn.net/moveym/article/details/82963696
原文链接:https://blog.csdn.net/qq_34671951/article/details/96477884

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值