将每周读书与学习相结合,可以有效地提升个人素养和知识水平。以下是一些建议,帮助您实现这一目标:1. **制定计划**: - 每周选择一本或多本书籍,涵盖不同领域,如文学、历史、科技、哲学等。 - 确定每天如早晨起床后、午休时间或睡前。2. **选择书籍**
摘要:每周读书与学习是由清华大学出版社出版的《JMeter核心技术、性能测试与性能分析》一书的作者推出,分享作者多年的IT从业经历,希望对很多计算机科学技术IT类专业毕业生以及IT从业者有所帮助。 Jmeter元件是使用Jmeter来完成性能测试
每周读书与学习是由清华大学出版社出版的《JMeter核心技术、性能测试与性能分析》一书的作者推出,分享作者多年的IT从业经历,希望对很多计算机科学技术IT类专业毕业生以及IT从业者有所帮助。
Jmeter元件是使用Jmeter来完成性能测试的基础,是整个Jmeter的核心,Jmeter是由很多个不同种类的元件来共同组成的,每个元件具有不同的功能,编写Jmeter的性能测试脚本就是将多个功能不同的元件串联起来完成一个性能测试场景的过程,如下图所示,下图中展示的就是Jmeter中常用到一些元件的种类,每个不同种类的元件可以在性能测试中起到不同的作用,通常需要不同的元件来共同协作,才能完成一个性能测试场景。
1、测试计划
Jmeter 测试计划是Jmeter中最底层的逻辑运行容器,是用来描述和组织一个性能测试脚本和测试场景的前提,所有的Jmeter元件都必须运行在一个测试计划下面,如下图所示。
从图中可以看到,测试计划主要包括:
测试计划的名称和注释:整个测试计划命名的名称,和对该测试计划的详细注释,通常可以自定义填写,当然建议最好能表达脚本的意义,方便将来对历史脚本进行追溯时,能知道当初编写的性能测试计划和脚本的含义。
用户定义的变量:Jmeter允许用户在测试计划中添加自定义的变量,这里定义的变量是整个测试计划中使用到的全局变量。
独立运行每个线程组:由于在测试计划中,可以添加多个线程组,该选项主要用于控制多个线程组的执行顺序。当勾选该选项时表示每个线程组都是独立运行,通常可以做到按照顺序来执行每一个线程组,比如先运行线程组A,等待线程组A运行完后再运行线程组B,如果不勾选该选项时表示每个线程组可以同时并行运行,如下图所示。
这个选项通常适用于混合场景的性能测试的需要,如下图所示,以在淘宝商城购买商品为例。
用户需要先登录然后再查询商品,而登录只需要做一次,所以多个并发用户登录,可以设置成一个线程组A,用于并发完成用户的登录。
用户登录后,用户就可以查询商品或者提交订单了,所以查询商品和提交订单是可以分别设置为一个线程组,而且这两个线程组是可以并行运行的。
由于登录时,每个用户只需要执行一次,并且通常都是先登录,然后再去查询商品或者提交订单,所以登录和查询商品或者提交订单之间通常建议设置成串行执行。
主线程结束后运行tearDown线程组:表示是否当线程组停止运行时继续运行tearDown线程组,一般很少用到该选项。
函数测试模式:表示是否保存性能测试的响应结果数据或者性能样本数据,如果勾选后,通常会消耗比较大的本地磁盘IO资源,一般不建议勾选,除非是在做性能测试脚本调试时需要特殊定位问题才建议勾选,并且在问题定位完成后,就去掉该选项的勾选。
添加目录或jar包到ClassPath:用于向Jmeter中添加第三方的jar包,在前面已经提到Jmeter底层是基于Java 语言来开发的,这个功能就是用于向Jmeter中添加第三方的外部Jar包,比如我们需要通过JDBC的协议对SQL Server 数据库进行性能压测,但是由于Jmeter自身没有自带连接SQL Server数据库的驱动Jar包,所以就需要用到这个功能来添加一个SQL Server的驱动Jar包以完成通过JDBC协议来对SQL Server数据库做性能压测。
2、线程组
通常情况下,每个性能测试场景都需要先在Jmeter界面上创建一个线程组,然后才能运行后续的性能测试脚本,因为性能压测通常都是需要模拟大量的用户来进行并发操作,那么就需要线程组来通过多个线程的方式来模拟产生大量的用户。线程组主要控制整个性能测试的运行开始时间以及运行时长、线程数量(即并发用户数)等,如下图所示。
从图中可以看到线程组主要包括:
名称和注释:线程组的命名,尤其是当一个测试计划中包含多个线程组时,通常建议需要填写线程组的名称和注释,方便区分以及将来对历史脚本进行追溯时,能知道当初创建线程组的明确含义。
在取样器错误后要执行的动作:
继续:表示当取样器发生报错时,线程组继续往下执行,这也是默认选项。
启动下一进程循环:表示忽略当前的取样器报错,继续开始下一个性能压测循环。
停止线程:表示退出当前取样器报错所在的线程,让该线程不再运行,由于一个线程组中通常会包含多个线程,此处的停止线程仅仅是停止当前取样器报错所在的线程,并不是停止所有的线程,如下图所示。
停止测试:等待当前取样器报错所在的线程运行结束当次测试后,停止整个性能测试。
立即停止测试:不做任何等待,直接停止整个性能测试。
线程属性:线程属性用于设置线程组中线程的运行参数,线程属性主要包括:
线程数:用于设置该线程组需要启动的线程数(并发用户数)。
