什么是压力测试以及为什么有必要? JMETER工具的使用

一、背景介绍负载测试(LoadTest)、压力测试(StressTest)、容量测试(CapabilityTest)与性能测试(PerformanceTest)

一、背景介绍

负载测试(LoadTest)、压力测试(StressTest)、容量测试(CapabilityTest)和性能测试(PerformanceTest)之间有关联吗?

简单来说,性能测试包括负载测试、压力测试、容量测试三种主要测试类型,以及其他测试类型。

性能测试用于测试系统中软件的运行性能。可以单独测试各个模块,但只有整个系统集成后测试的性能才是真正的性能;

负载测试是验证系统在给定负载下是否能够达到预期的性能指标;

对于数据库来说,容量测试是当数据库中有大量数据记录时对系统的测试;

压力测试就是对被测系统不断施加“压力”,测试系统在压力下的表现,考察系统在当前软硬件环境下所能承受的最大负载,帮助发现系统瓶颈,即,我们可以模拟巨大的工作负载来查看应用程序在高峰使用情况下的表现。

Web 服务是分布式计算的核心,它们之间的交互通常很难测试。分布式开发、庞大的开发团队以及对代码日益组件化的渴望,有可能使Web 服务的开发越来越容易出现隐藏的错误。这些类型的错误极难检测。压力测试是检测这些类型的代码错误的有效方法,但只有在压力系统设计得有效的情况下它才有效。

压力测试考察系统在当前软硬件环境下所能承受的最大负载,帮助识别系统瓶颈。压力测试的目的是让系统的在线处理能力和稳定性保持在标准范围内,让我们心中有数。

使用压力测试,您有望发现其他测试方法难以发现的各种错误。 内存泄漏有两种错误类型:并发和同步。

有效的压力测试系统将应用以下关键条件: 次重复、并发性、幅度和随机变化。

2.知识分析

1. 性能测试的目的

性能测试的目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈来优化软件,最终优化系统。包括以下结构方面:

1.评估系统的能力;

2. 识别系统的弱点;

3、系统调优;

什么是压力测试以及为什么有必要? JMETER工具的使用

4、测试软件中的问题;

5、验证稳定性(Resilience)和可靠性(Reliability);

2、性能测试常用指标

对于B/S架构,一般关注Web服务器性能指标:

avg rps: 平均每秒响应次数=总次数/秒

avg time to last byte per terstion(mstes):业务脚本每秒平均迭代次数

成功回合:成功请求

failed rounds: 请求失败

成功点击数:成功点击数

失败的点击数: 失败的点击数

每秒点击数: 每秒点击数

每秒成功命中数:每秒成功命中数

每秒失败的命中数:每秒失败的命中数

尝试的连接:尝试的连接数

吞吐量:吞吐率

3.JMeter常用测试单元

1.线程组,所有测试计划的起点,所有逻辑控制器和采样器都必须放在线程组下。常用参数:

什么是压力测试以及为什么有必要? JMETER工具的使用

设置线程数(Numbers of Threads)

设置线程启动周期(Ramp-Up period)

设置执行测试脚本的循环次数(Loop Count)

2.控制器

Sampler,JMeter使用它向服务器发送请求并等待响应;

逻辑控制器,控制JMeter的测试逻辑,特别是何时发送请求。

3.监听器,提供对JMeter在测试过程中收集的信息的访问。

4.计时器。默认情况下,线程发送请求之间没有间隔。添加一个计时器来设置请求之间的间隔。

5.断言,检查从服务器获取的响应内容。

6.Sample与采样器紧密相连,不发送请求。可以添加或修改请求。

7. 预处理器,在采样器发送请求之前执行一些特殊操作。

8.后处理器,在采样器发送请求后执行一些特殊操作,常用于从响应中提取数据。

4.JMeter执行顺序规则

配置元素—-预处理器—-定时器—-采样器—-后处理器(除非服务器响应为空)—–断言(除非服务器响应为空)—-监听器(除非服务器响应为空)

5.JMeter测试结果

label: 定义HTTP 请求名称

Samples: 表示此测试中发出了多少个请求。

什么是压力测试以及为什么有必要? JMETER工具的使用

Average: 平均响应时间,默认为单个请求的平均响应时间

median: 中位数,50%用户的响应时间(50%阈值)

90%line:90%用户响应时间(90%阈值)

min: 访问页面的最小响应时间

max:访问页面的最大响应时间

error%:错误请求数/总请求数

吞吐量:默认表示每秒完成的请求数

KB/sec: 每秒从服务器接收的数据量

3. 常见问题

1. 吞吐量和带宽有什么区别?

2.并发用户数?

3、点击率和TPS有什么区别?

4.解决方案

1. 吞吐量和带宽是很容易混淆的词。两者的单位都是Mbps。我们先看一下两者对应的英文,throughput :throughput;带宽: 最大净比特率。当我们讨论通信链路的带宽时,我们通常指的是链路上每秒可以传输的位数。我们可以说以太网的带宽是10Mbps。但是,我们需要区分链路上可用的带宽(带宽)和链路上每秒可以传输的实际位数(吞吐量)。我们倾向于用“吞吐量”来表达一个系统的测试性能。因此,通过带宽为10Mbps 的链路连接的一对节点可能仅实现2Mbps 的吞吐量,因为该实现会受到各种低效率的影响。这意味着一台主机上的应用程序可以以2Mbps 的速度向另一台主机发送数据。

2.并发一般分为两种情况。一种是严格意义上的并发,即所有用户同时做同样的事情或操作。这种经营一般指做同类业务。例如,在信用卡审批业务中,一定数量的用户同时提交已完成的审批业务;还有一种特殊情况,即所有用户执行完全相同的操作。例如信用卡审批业务,所有用户可以一起申请。业务,或修改同一条记录。另一种类型的并发是宽范围并发。这种类型的并发与之前类型的并发的区别在于,虽然多个用户对系统发出了请求或执行了操作,但这些请求或操作可以相同也可以不同。对于整个系统来说,仍然有很多用户同时操作系统,所以也属于并发的范畴。

3、每秒用户向WEB服务器提交的HTTP请求数。该指标是WEB应用特有的指标。 WEB 应用程序处于“请求-响应”模式。用户一旦发出请求,服务器就会处理一次,所以点击是一个WEB应用。可以处理的最小交易单位。如果把每次点击定义为一次交易,那么点击率和TPS是同一个概念。不难看出,点击率越大,服务器的压力就越大。点击率只是一个业绩参考指标。分析点击时的影响非常重要。需要注意的是,这里的点击并不是指鼠标的单击操作,因为在一次单击操作中,客户端可能会向服务器发送多个HTTP请求。

用户评论

什么是压力测试以及为什么有必要? JMETER工具的使用
笑叹★尘世美

压力测试太重要了!特别是在上线前,必须得好好测测,不然就等着崩溃吧!

    有14位网友表示赞同!

什么是压力测试以及为什么有必要? JMETER工具的使用
放血

JMETER这个工具真不错,用它来做压力测试很方便,还能模拟各种场景。

    有12位网友表示赞同!

什么是压力测试以及为什么有必要? JMETER工具的使用
浅嫣婉语

压力测试就是模拟真实用户,看看系统能承受多少压力,还能发现潜在问题。

    有13位网友表示赞同!

什么是压力测试以及为什么有必要? JMETER工具的使用
日久见人心

JMETER上手简单,功能强大,很适合用来做性能测试。

    有13位网友表示赞同!

什么是压力测试以及为什么有必要? JMETER工具的使用
挽手余生ら

压力测试是保证系统稳定性的关键步骤,不能忽视啊!

    有18位网友表示赞同!

什么是压力测试以及为什么有必要? JMETER工具的使用
無極卍盜

有了JMETER,压力测试变得轻松多了,效率也高了不少。

    有5位网友表示赞同!

什么是压力测试以及为什么有必要? JMETER工具的使用
罪歌

这篇内容很实用,让我对压力测试和JMETER有了更深的了解。

    有6位网友表示赞同!

什么是压力测试以及为什么有必要? JMETER工具的使用
孤败

学习了学习了,以后要用JMETER来做压力测试了!

    有11位网友表示赞同!

什么是压力测试以及为什么有必要? JMETER工具的使用
毒舌妖后

压力测试和JMETER,必须掌握的技能啊!

    有6位网友表示赞同!

什么是压力测试以及为什么有必要? JMETER工具的使用
ゞ香草可樂ゞ草莓布丁

JMETER工具操作起来很方便,适合各种类型的压力测试。

    有6位网友表示赞同!

什么是压力测试以及为什么有必要? JMETER工具的使用
屌国女农

看了这篇,感觉压力测试也不难,JMETER工具也很容易上手。

    有12位网友表示赞同!

什么是压力测试以及为什么有必要? JMETER工具的使用
羁绊你

了解了压力测试的重要性,也学到了JMETER的使用方法,太棒了!

    有19位网友表示赞同!

什么是压力测试以及为什么有必要? JMETER工具的使用
秒淘你心窝

压力测试是确保系统质量的重要环节,一定要重视!

    有8位网友表示赞同!

什么是压力测试以及为什么有必要? JMETER工具的使用
千城暮雪

JMETER真是压力测试的神器,强烈推荐!

    有5位网友表示赞同!

什么是压力测试以及为什么有必要? JMETER工具的使用
秘密

压力测试可以发现系统性能瓶颈,然后进行优化。

    有15位网友表示赞同!

什么是压力测试以及为什么有必要? JMETER工具的使用
■□丶一切都无所谓

JMETER工具很强大,可以模拟各种复杂的场景。

    有10位网友表示赞同!

什么是压力测试以及为什么有必要? JMETER工具的使用
念安я

压力测试一定要做,不然上线后就容易出问题。

    有7位网友表示赞同!

什么是压力测试以及为什么有必要? JMETER工具的使用
。婞褔vīp

JMETER使用简单,功能强大,值得一试!

    有19位网友表示赞同!

什么是压力测试以及为什么有必要? JMETER工具的使用
赋流云

压力测试和JMETER,都是软件开发必备技能。

    有16位网友表示赞同!

什么是压力测试以及为什么有必要? JMETER工具的使用
焚心劫

JMETER这个工具真的太方便了,强烈推荐大家使用!

    有8位网友表示赞同!

原创文章,作者:xiaobian,如若转载,请注明出处:https://www.xinyuspace.com/6535.html

(0)
xiaobianxiaobian
上一篇 2024年9月1日
下一篇 2024年9月1日

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注