IT修真院·小课堂丨互联网职业小课堂在线学习平台

课堂课题:

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

关联任务:

任务五

直播时间:

2018-12-04 15:30:00


课堂内容:

视频链接:

PPT链接:

提交按钮:

小课堂内容格式


标题:

【修真院xx(职业)小课堂】课题名称

开场语:

大家好,我是IT修真院XX分院第X期的学员XX,一枚正直纯洁善良的XX程序员,今天给大家分享一下,修真院官网XX(职业)任务X,深度思考中的知识点——XXX

(1)背景介绍:

背景介绍的时候,尽可能的要宽广,讲清楚来龙去脉,讲清楚为什么会需要这个技术。

(2)知识剖析:

讲知识点的时候,尽可能的成体系,学会成体系的去给别人介绍知识。现在很多做的都是零散的,没有分类。

(3)常见问题:

最少列出1个常见问题。

(4)解决方案:

写清楚常见问题的解决方案。

(5)编码实战:

尽可能的去寻找在真实项目中在用的。如果你能找到某个网站在用你说的知识点,这是最好的。学以致用,否则当成练习题就没有意义了。多准备一些demo,讲解过程中将知识点和demo结合,便于大家理解所讲解的知识点。

(6)拓展思考:

知识点之外的拓展思考,由分享人进行讲解,这些东西就是所谓的深度,也是一个人技术水准高低比较的表现。

(7)参考文献:

引入参加文献的时候,在引用的句子后面加上序号【1】。参考文献中列出详细来源。不要去抄别人的东西,这是一个基本的态度。

(8)更多讨论:

Q1:提问人:问题?
A1:回答人(可以是分享人,也可以是其他学员):回答
Q2:提问人:问题?
A2:回答人(可以是分享人,也可以是其他学员):回答
Q3:提问人:问题?
A3:回答人(可以是分享人,也可以是其他学员):回答

(9)鸣谢:

感谢XX、XX师兄,此教程是在他们之前技术分享的基础上完善而成。

(10)结束语:

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

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

辅导师兄 [真传弟子]JAVA-徐铭培


大家好,我是IT修真院深圳分院第13期的学员,一枚正直纯洁善良的java程序员
今天给大家分享一下,修真院官网Java任务6,深度思考中的知识点————什么是压测,为什么要进行压力测试?JMeter工具的使用

1.背景介绍
压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。
在Web性能测试领域,有两种工具广泛使用:LoadRunner和JMeter。
2.知识剖析
什么是压测,为什么要进行压力测试?
(1)压测,即压力测试,是确立系统稳定性的一种测试方法,通常在系统正常运作范围之外进行,以考察其功能极限和隐患。
(2)压力测试是通过不断向被测系统施加“压力”,观察测试系统在压力情况下的性能表现,考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统瓶颈所在,也就是我们可以模拟巨大的工作负荷以查看应用程序在峰值使用情况下如何执行操作。
(3)压测都是为了系统在线上的处理能力和稳定性维持在一个标准范围内,做到心中有数。
(4)使用压力测试,您有希望找到很多种用其他测试方法更难发现的错误。有两种错误类型是:内存泄漏,并发与同步。同时,有效的压力测试系统将应用以下这些关键条件:重复,并发,量级,随机变化。

Jmeter是什么?
(1)Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。
(2)JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。

3.常见问题
如何使用JMeter对web项目进行简单的压力测试?

解决方案
jmeter的使用
在这里插入图片描述
(1)线程组:代表一定数量的并发用户,它可以用来模拟并发用户发送请求。线程组是为模拟并发负载而设计。

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

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

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

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

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

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

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

4.编码实战
(1)使用badboy录制脚本
在这里插入图片描述

(2)转为jmx文件
在这里插入图片描述
(3)打开JMeter并导入录制的脚本文件
在这里插入图片描述
(4)添加结果监听
在这里插入图片描述
(5)定义线程数和循环次数
在这里插入图片描述
在这里插入图片描述
(6)运行,并查看聚合报告
在这里插入图片描述

5.扩展思考
6.参考文献
CSDN、百度百科、师兄们提供的资料

7.更多讨论
(1)压力测试和性能测试的区别?
压力测试:对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。例如测试一个Web站点在大量的负荷下,何时系统的响应会退化或失败。

性能测试:在交替进行负荷和强迫测试时常用的术语。性能测试关注的是系统的整体。它和通常所说的强度、压力/负载测试测试有密切关系。所以压力和强度测试应该于性能测试一同进行。

(2)JMeter怎么添加插件?
添加plugins-manager.jar 到lib/ext目录后重启JMeter,在option菜单可以选项plugin manager中添加插件。

(3)如果压测页面有使用session该怎么设置?
在HTTP信息头中加入Cookie配置JSESSIONID=${jsessionid},如下图
在这里插入图片描述

8.鸣谢:
感谢修真院的师兄和CSDN博客上相关的作者,此教程是在他们之前技术分享的基础上完善而成。

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


评论

[无名弟子]李潇 发表于 2018-12-06 20:33:01 #1

讲得不错,不过图炸了,改一下

回复

请您登录 后进行评论