Jmeter基础——学习笔记

官方网站:
https://jmeter.apache.org/download_jmeter.cgi
https://jakarta.apache.org/site/downloads/downloads_JMeter.cgi

bin目录文件

文件属性
jmeter.propertiesJMeter 核心配置文件,各种配置基本在这完成
log4j.confJMeter 日志配置管理
jmeter.logJMeter 运行日志记录,什么输出信息、警告、报错都在这里进行了记录
jmeter.batwindows 下 jmeter 启动文件
shutdown.cmdwindows 下 jmeter 关闭文件
stoptest.cmdwindows 下 jmeter 测试停止文件
jmeter-server.batwindows 下 jmeter 服务器模式启动文件

其中系统配置文件中的SSL设置重点关注如下几个:
# 指定HTTPS协议层
https.default.protocol=TLS
# 指定SSL版本
https.default.protocol=SSLv3
# 设置启动的协议
https.socket.protocols=SSLv2Hello SSLv3 TLSv1
# 缓存控制,控制SSL是否可以在多个迭代中重用
https.use.cached.ssl.context=true

docs目录

接口文档目录。例C:\apache-jmeter-3.0\docs\api下的index.html

extras目录

扩展插件目录。提供了对Ant的支持,可以使用Ant来实现自动化测试,例如批量脚本执行,产生html格式的报表,测试运行时,可以把测试数据记录下来,jmeter会自动生成一个.jtl文件,将该文件放到extras目录下,运行"ant -Dtest=文件名 report",就可以生成测试统计报表。
lib目录
  所用到的插件目录,里面均为jar包。jmeter会自动在jmeter_HOME/lib和ext目录下寻找需要的类,lib下存放JMeter所依赖的外部jar,如:httpclient.jar、httpcore.jar、httpmime.jar等等。其中lib\ext目录下存放有Jmeter依赖的核心jar包,ApacheJMeter_core.jar、ApacheJMeter_java.jar在写client端需要引用,JMeter插件包也在此目录下。lib\junit下存放junit测试脚本.

Licenses目录

jmeter证书目录

Printable_docs目录

用户使用手册,例C:\apache-jmeter-3.0\printable_docs下的index.html

组成部分

1)负载发生器:产生负载,多进程或多线程模拟用户行为
2)用户运行器:脚本运行引擎,用户运行器附加在进程或线程上,根据脚本模拟指定的用户行为
3)资源生成器:生成测试过程中服务器、负载机的资源数据
4)报表生成器:根据测试中获得的数据生成报表,提供可视化的数据显示方式·

Apache JMeter所支持的协议如下:

Web: HTTP、 HTTPS
SOAP
FTP
JDBC
LDAP
面向消息的中间件(通过JMS)
邮件: SMTP(S)、 POP3(S)、 IMAP(S)
MongoDB (NoSQL)
TCP
原生命令或者Shell脚本

常用术语

● 采样器(Sampler):采样器是JMeter测试脚本的基础单元,用户可以用它来向服务器发出一个特定的请求,采样器会在超时前等待服务器的响应。
● 逻辑控制器(Logic Controller):用户通过逻辑控制器来控制JMeter测试脚本的执行顺序,以便测试能够按照用户期望的顺序和逻辑执行。
● 监听器(Listener):监听器被用来收集测试结果信息,并以用户指定的方式加以展示。
● 配置元件(Configuration Element):配置元件被用来设置一些JMeter测试脚本公用的信息。
● 断言(Assertion):断言被用来验证服务器实际返回的信息,与用户期望的情况是否相符。
● 定时器(Timer):定时器被用来保存JMeter测试脚本与时间相关的一些信息,例如思考时间(Think Time)。
● 前置处理器(Pre-Processor),在前置处理器的作用范围内,任何采样器被执行前,都要先执行前置处理器。
● 后置处理器(Post-Processor):在后置处理器的作用范围内,任何采样器被执行后,都要执行对应的后置处理器。
● 测试计划(Test Plan):测试计划是JMeter测试脚本的根节点,关于整个测试脚本的一些基础设置,可以在测试计划中设定,例如用户定义变量。
● 线程组(Thread Group):线程组定义了一个虚拟用户池,其中每一个虚拟用户都使用同样的测试脚本。
● 工作台(WorkBench):工作台被用来保存暂时不使用的测试元素,当测试人员保存测试计划时,工作台中的内容不会被一起保存。

JMeter测试结果字段的意义

● Label:定义HTTP请求名称。
● Samples:表示这次测试中一共发出了多少个请求。
● Average:平均响应时长——默认情况下是单个请求的平均响应时长,当使用了Transaction Controller时,也可以Transaction为单位显示平均响应时长。
● Median:中位数,也就是50%用户的响应时长。
● 90% Line:90%用户的响应时长。
● Min:访问页面的最小响应时长。
● Max:访问页面的最大响应时长。
● Error%:错误的请求的数量/请求的总数。
● Throughput:默认情况下表示每秒完成的请求数(Request per Second),当使用了Transaction Controller时,也可以表示类似LoadRunner的Transactionper Second数。
● KB/Sec:每秒从服务器端接收到的数据量。
在这里插入图片描述

运行JMeter

● jmeter.bat——运行JMeter(默认GUI模式)。
● jmeter-n.cmd——加载一个JMX文件,并在非GUI模式下运行。
● jmeter-n-r.cmd——加载一个JMX文件,并在远程非GUI模式下运行。
● jmeter-t.cmd——加载一个JMX文件,并在GUI模式下运行。
● jmeter-server.bat——以服务器模式启动JMeter。
● mirror-server.cmd——在非GUI模式下启动JMeter镜像服务器。
● shutdown.cmd——关闭一个非GUI实例(优雅的)。
● stoptest.cmd——停止一个非GUI实例(中断式的)。

使用代理服务器

测试对象隐藏在防火墙/代理服务器之后,需要向JMeter提供防火墙/代理服务器的主机名和端口号。通过命令行来运行jmeter.bat/jmeter文件,并携带如下参数,以达到提供主机名和端口号的目的。
● -H[代理服务器主机名或者IP地址]
● -P[代理服务器端口]
● -N[不使用代理的主机](例如*.apache.org|localhost)
● -u[代理验证的用户名——如果要求]
● -a[代理验证的密码——如果要求]
例如:
jmeter -H my.proxy.server -P 8000 -u username -a password -N localhost

JMeter执行顺序规则如下:

  1. 配置元件
  2. 前置处理器
  3. 定时器
  4. 采样器
  5. 后置处理器(除非服务器响应为空)
  6. 断言(除非服务器响应为空)
  7. 监听器(除非服务器响应为空)
    注意:只有当作用域内存在采样器时,定时器、断言、前置/后置处理器才会被执行。逻辑控制器和采样器按照在测试树中出现的顺序执行。其他测试元件会依据自身的作用域范围来执行,另外还与测试元件所属的类型有关(归属于同一类型的测试元件,会按照它们在测试树中出现的顺序来执行)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

觅梦_feng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值