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

大家好,我是IT修真院武汉分院第13期学员,一枚正直善良的JAVA程序员。

今天给大家分享一下,修真院官网JAVA任务6中问题,什么是压测,为什么要进行压力测试?Jmeter工具的使用?

一、背景介绍

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。

负载测试(LoadTest)、压力测试(StressTest)、容量测试(CapabilityTest)与性能测试(PerformanceTest)是相互关系?

简单讲性能测试包括负载测试、压力测试和容量测试三种主要测试类型和其他测试类型。

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

负载测试是为了检验系统在给定负载下是否能达到预期性能指标;

容量测试针对数据库而言,是在数据库中有较大数量的数据记录情况下对系统进行的测试;

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

二.知识剖析

吞吐量:是指在一次性能测试过程中网络上传输的数据量的总和,吞吐量指标反映的是服务器承受的压力

吞吐量(承压能力)与request对CPU的消耗、外部接口、IO等密切关联;主要是由TPS和并发数决定。

1.测试计划(Test Plan):是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器。

2.线程组(Thread Group):代表一定数量的并发用户,它可以用来模拟并发用户发送请求。

3.取样器(sampler):定义实际的请求内容,被线程组包含,我们主要用HTTP请求。

4.监听器(Listener):负责收集测试结果,同时也被告知了结果显示的方式。

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

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

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

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

聚合报告:

ThroughPut :吞吐量 -- 默认情况下表示每秒完成的请求数(Request per Second)。

90%Line :90%请求的响应时间

三.常见问题

1. JMeter的作用?

2.如何对多个网页压测?


四.解决方案

1.JMeter可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、java对象、数据库和查询、ftp服务器或者其他的资源)。JMeter用于模拟在服务器、网络或者其他对象上附加高负载以测试他们提供服务的受压能力,或者分析他们提供的服务在不同负载条件下的总性能情况。你可以用JMeter提供的图形化界面分析性能指标或者在高负载情况下测试服务器/脚本/对象的行为。

2.用badbody 软件生成



五。编码实战


六、扩展思考

如何找出瓶颈

产生压力之后,通常我们可以拿到TPS、响应时延等性能数据,那么如何定位性能问题呢?TPS、响应时延只能告诉你服务器是否存在问题,但不能帮助你定位问题。这些表面背后是整个后台处理逻辑综合作用的结果,这时候可以先关注系统的CPU、内存、IO、网络,对比在tps、时延达到瓶颈时这些系统数据的情况,确定性能问题是系统哪一部分造成的,然后再回到代码的逻辑中逐个优化这些点。


七、参考文献

                        Jmeter简单介绍

https://www.cnblogs.com/yangxia-test/p/3964881.html

                            Jmeter入门<

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


八、更多讨论

 

更多讨论

详见视频  腾讯视频

感谢大家观看

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

技能树.IT修真院

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧~

我的邀请码链接:http://www.jnshu.com/login/1/22347049

我的邀请码:22347049

猜你喜欢

转载自blog.csdn.net/qq_39691226/article/details/80948206