什么是压测,为什么要进行压力测试?JMETER工具的使用

-深圳-Java-张高愿-

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试. 在Web性能测试领域,有两种工具广泛使用:LoadRunner和JMeter.

2.知识剖析

什么是压测,为什么要进行压力测试?

压测,即压力测试,是确立系统稳定性的一种测试方法,通常在系统正常运作范围之外进行,以考察其功能极限和隐患。

压力测试是通过不断向被测系统施加“压力”,观察测试系统在压力情况下的性能表现, 考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统瓶颈所在, 也就是我们可以模拟巨大的工作负荷以查看应用程序在峰值使用情况下如何执行操作。

压测都是为了系统在线上的处理能力和稳定性维持在一个标准范围内,做到心中有数。 使用压力测试,您有希望找到很多种用其他测试方法更难发现的错误。有两种错误类型是:内存泄漏,并发与同步。 有效的压力测试系统将应用以下这些关键条件:重复,并发,量级,随机变化。

JMETER是什么?

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。

JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。

3.常见问题

如何使用JMeter对web项目进行简单的压力测试?

4.解决方案

jmeter的使用

1.线程组:代表一定数量的并发用户,它可以用来模拟并发用户发送请求。线程组是为模拟并发负载而设计。

2.取样器(Sampler):模拟各种请求。所有实际的测试任务都由取样器承担,存在很多种请求。如:HTTP 、ftp请求等等。

3、监听器:负责收集测试结果,同时也被告知了结果显示的方式。功能是对取样器的请求结果显示、统计一些数据(吞吐量、KB/S……)等。

4、断言:用于来判断请求响应的结果是否如用户所期望,是否正确。它可以用来隔离问题域,即在确保功能正确的前提下执行压力测试。这个限制对于有效的测试是非常有用的。

5、定时器:负责定义请求(线程)之间的延迟间隔,模拟对服务器的连续请求。

6、逻辑控制器:允许自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。

7、配置元件维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容。

8、前置处理器和后置处理器负责在生成请求之前和之后完成工作。前置处理器常常用来修改请求的设置,后置处理器则常常用来处理响应的数据。

聚合报告中的一些数据

Samples - 具有相同标号的样本数,总的发出请求数。

Average - 请求的平均响应时间。

Median - 50%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第50%的值。

90% Line - 90%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第90%的值。

Min - 最小响应时间。

Max - 最大响应时间。

Error % - 本次测试中,有错误请求的百分比。

Throughput - 吞吐量是以每秒/分钟/小时的请求量来度量的。这里表示每秒完成的请求数。

Received KB/sec - 收到的千字节每秒的吞吐量测试。

Sent KB/sec - 发送的千字节每秒的吞吐量测试。

5.编码实战

6.扩展思考

7.参考文献

CSDN、百度百科、师兄们提供的资料

8.更多讨论

谢谢大家观看,如有问题,恳请批评指正

by:深圳分院 -张高愿-