压测的简介说明

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
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JMeter是一款用于进行压力测试和性能测试的工具。以下是使用JMeter 5.5进行压测的一些说明: 1. 下载和安装:访问Apache JMeter官网(https://jmeter.apache.org/),下载最新版本的压缩包。解压后进入bin文件夹,点击jmeter.bat即可打开JMeter。 2. 语言和外观设置:在JMeter的顶部菜单中,可以选择语言和外观风格。 3. 基准测试:首先添加一个线程组,然后在线程组下添加"查看结果树"和"聚合报告",用于查看请求返回的结果和响应时间等信息。接下来,新建一个HTTP请求,填写请求方法和URL等信息。可以使用浏览器的F12开发者工具来查看实际项目的请求信息。 4. 参数设置:在基准测试中,可以设置线程数、Ramp-Up时间、循环次数和调度器等参数。线程数表示并发数量,Ramp-Up时间表示每隔多少秒发出并发请求,循环次数用于设置线程组的循环次数,调度器用于设置压测的持续时间和延时时间。 5. 生成报告:测试完成后,可以使用以下命令生成Web报告。进入JMeter的bin目录,执行命令:.\jmeter -n -t (存放的jmx文件) -l (存放指定目录) -e -o (存放指定目录)。注意,生成报告的目录要为空,否则会报错。 6. 负载测试:对于负载测试,可以设置多个线程组,每个线程组包含一定数量的请求。根据测试要求,可以设置不同的线程组和请求数量。 以上是使用JMeter 5.5进行压测的一些说明。希望对你有帮助! #### 引用[.reference_title] - *1* [使用Jmeter进行压测](https://blog.csdn.net/qq_36951178/article/details/128145667)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [jmeter工具使用(压测数据库)](https://blog.csdn.net/qq_42026963/article/details/128820737)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [JMeter 5.5 使用详解(持续更新中......)](https://blog.csdn.net/qq_45138120/article/details/124056704)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值