• 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. 监听器(除非服务器响应为空)
      注意:只有当作用域内存在采样器时,定时器、断言、前置/后置处理器才会被执行。逻辑控制器和采样器按照在测试树中出现的顺序执行。其他测试元件会依据自身的作用域范围来执行,另外还与测试元件所属的类型有关(归属于同一类型的测试元件,会按照它们在测试树中出现的顺序来执行)。
  • 相关阅读:
    Tomcat是如何打破“双亲委派“机制的
    Android AAB 包重签方法
    Docker入门
    Python中将字典转为成员变量
    计算机毕业设计Java汉字幼教系统(源码+系统+mysql数据库+lw文档)
    JavaWeb输入输出流
    洛谷千题详解 | P1004 [NOIP2000 提高组] 方格取数【C++、Java、Pascal语言】
    windows编译ollvm笔记
    React:通过嵌套对象循环
    Adobe Photoshop 基本操作
  • 原文地址:https://blog.csdn.net/weixin_43820813/article/details/126818576