性能测试基础---jmeter入门
·Jmeter入门
·Jmeter的简介:
·Jmeter是一款基于纯JAVA语言开发的开源的性能测试工具。
·Jmeter的下载:
·最新版:http://jmeter.apache.org/download_jmeter.cgi
·历史版本:https://archive.apache.org/dist/jmeter/binaries/
PS:如果是windows下使用,则下载zip压缩包,如果linux平台使用,则下载tgz。
·安装和使用:
Jmeter是基于java的应用,所以需要有java环境。
·JDK的安装和配置:
·Java的版本,一般来说下载se的版本,然后版本号只需要和Jmeter的要求匹配。
·环境变量的配置
需要配置的环境变量有两个:
·JAVA_HOME:值就是java的安装路径,不包含bin目录。
·PATH变量:是修改而不是新建,将“%JAVA_HOME%\bin;”加入到path变量的最前面。
PS:通过java -version和javac -version进行检测即可。
要保证java和javac的版本的一致性。
·Jmeter的目录介绍
·bin目录:该目录存放了jmeter的主jar包,启动脚本,配置文件。并且该目录是jmeter默认的日志存放目录。
·ApacheJmeter.jar:这是jmeter的主jar包(主类所在的包),可以通过java命令直接启动该jar包达到启动运行jmeter的效果。
·Jmeter.bat/Jmeter.sh:这是官方给的Jmeter的启动脚本,然后右键编辑,是可以设置jmeter启动时的一些JVM参数的。
set HEAP=-Xms1024m -Xmx1024m
set METASPACE=-XX:MetaspaceSize=512M -XX:MaxMetaspaceSize=512M
PS:一般来说,metaspace 256M就够用,最多给到512M。
Xms和Xmx的值保持一致,建议不要超过物理内存的50%,通常为物理内存最大值的25%即可。
·Jmeter-server.bat/jmeter-server:是Jmeter的联机负载所需要的服务启动脚本。
·Jmeter.properties:该文件是Jmeter的主配置文件。jmeter超过80%以上的配置都是在该文件中完成。
PS:配置文件修改,需要重启jmeter才会生效。
·docs目录:该目录下存放的是jmeter官方的API文档。
·extras目录:该目录存放的是jmeter和其它应用集成所需要的一些文件。主要是jmeter和ant集成所需的文件。
·lib目录:该目录是jmeter启动时的默认的classpath路径。这就意味着在使用jmeter进行测试的过程中,任何需要做import操作的类,都必须以jar包的形式存在于lib目录下。
PS:一旦lib目录下的jar包发生改变,则需要重启jmeter才能有效。
·lib\ext目录:该目录是jmeter用来存放组件、第三方组件和插件的目录。
通常来说我们下载的组件和插件、自定义的组件和插件都需要放在该目录。
·printable_docs目录:该目录下存放的是jmeter官方的使用帮助文档。
·Jmeter的脚本生成:
Jmeter的脚本生成方式很多,但是可以分为三类:
·第三方工具录制。
常用的工具有两种:badboy、blazemeter。
·badboy是基于内置的浏览器来进行录制的。
·缺陷:因为内置浏览器的内核是IE的内核,所以可能会因为浏览器的兼容性导致无法使用badboy进行录制。
录制的脚本在jmeter打开时,一定要对step组件执行一次下列操作:
右键step组件--change controller--逻辑控制器,选择简单控制器。
·blazemeter是提供了chrome浏览器的插件,可以在chrome浏览器中直接录制。
·自带的http代理服务器方式录制。
·代理服务器录制操作详解:
第一步:右键测试计划,添加组件--Threads(Users)--线程组
第二步:右键测试计划,添加组件--配置元件--http cookie管理器。
第三步:右键工作台,添加非测试元件--http代理服务器。
PS:以上三步没有先后之分。
第四步:配置http代理服务器组件,并且启动。
配置项:
·端口:要求在当前机器中没有被占用即可。
检测命令:netstat -an
netstat -an|findstr "端口号"
·目标控制器:选择第一步所添加的线程组。作用是将录制的脚本存放在指定的控制器中,即放在线程组中。
·过滤器的使用:
第五步:设置客户端,使得其通过代理服务器访问被测服务器。
·客户端可能是PC,也可能是移动设备。
如果是pc,则通过windows下的internet选项设置代理。
internet选项--连接--局域网设置,勾选为Lan使用代理服务器。
地址:填写Jmeter所在的机器的IP。
端口:填写Jmeter代理服务器所设置的端口号。
如果是移动设备,则要求移动设备和Jmeter所在的机器在同一个局域网内。(WLAN)
在WLAN高级选项中设置代理。地址和端口同上。
PS:如果要录制的应用使用了https协议的话,则需要将jmeter生成的根证书安装在客户端机器上。
第六步:停止录制,还原客户端代理设置,停止http代理服务器。
·抓包手写。
该方式是能够适用任何情况下的脚本开发。但是要求测试人员具备以下素质:
·熟悉通信协议。
·掌握至少一种抓包工具。
·熟练掌握至少一种封包工具。
性能测试基础---jmeter入门的更多相关文章
- 性能测试基础---jmeter函数二次开发
Jmeter函数的二次开发. ·什么时候需要进行jmeter的自定义函数扩展呢? 一般来说,如果我们要对数据进行处理,而jmeter没有提供相应的功能(函数),此时我们可以自己进行自定义函数的扩展. ...
- 性能测试基础---jmeter webservice接口测试
·webservice接口测试实现.·SOA:面向服务的体系架构,主要为了应对大型系统的异构需求.典型的实现方式:webservice·微服务:为了对SOA这样的重服务架构进行解耦而存在的.一个or几 ...
- 性能测试基础---jmeter参数化、关联、事物、检查的等
·Jmeter脚本增强·性能测试的脚本增强技术:参数化.关联.事务.检查点.思考时间和集合点. ·参数化:在Jmeter中,实现参数化的方式很多.本质上来说,参数化的实现方式有两种:·文件方式:一般建 ...
- 性能测试基础---jmeter二次开发
·Jmeter的二次开发,常见的有以下几种类型: ·扩展.修改Jmeter已有的组件(源代码) ·扩展.修改Jmeter已有的函数. ·完全自主开发一个新的组件(依赖于Jmeter提供的框架). ·扩 ...
- 性能测试基础---jmeter基础
·Jmeter的脚本构成: Jmeter的脚本是由很多不同的组件构成,在Jmeter中,组件可以分为以下几类: ·测试计划: 是默认存在的组件,所有的Jmeter的组件都是依赖于测试计划的. 在这个组 ...
- 1. APP移动端性能测试基础知识入门
本博客要点 生命周期 堆和栈 垃圾回收 adb命令 Activity的生命周期
- JMeter性能测试基础 (1) - 安装及简单使用
Apache JMeter是一款开源性能测试工具,全部功能使用Java编写,可用于进行性能测试.JMeter最初被设计用于Web应用测试,之后被扩展至多个测试领域. Apache jmeter 可以用 ...
- 性能测试工具JMeter 基础(六)—— 测试元件: 线程组
线程组的定义: 线程组是测试计划执行的入口,所有的逻辑控制器和取样器都必须在线程组下,其他的元件根据位置的不同作用域是不同的. 线程组是每个线程都是独立运行测试脚本,一个线程组就等于一个用户,通过多个 ...
- 性能测试工具JMeter
JMeter介绍 Apache JMeter是Apache组织的开放源代码项目,具有极高的可扩展性,是一个100%纯Java桌面应用,用于压力/性能测试.JMeter可以用于测试静态或者动态资 ...
随机推荐
- ESP8266 SDK开发: 外设篇-GPIO输出高低电平
前言 官方提供了两个函数 GPIO_OUTPUT_SET(gpio_no, bit_value) 设置GPIO2输出高电平 GPIO_OUTPUT_SET(2, 1); 设置GPIO2输出低电平 GP ...
- Zabbix设置邮件报警
邮件报警 概述当监控项收集了数据后,触发器会根据异常状态触发报警.根据一些报警机制,它也会通知我们一些重要的事件,而不需要我们直接在Zabbix前端进行查看.这就是通知(Notifications)的 ...
- LOJ6686 Stupid GCD(数论,欧拉函数,杜教筛)
做题重心转移到 LOJ 了. 至于为什么,如果你知道“……”的密码,就去看吧. LOJ 上用户自创题大多数都不可做,今天看到个可做题(而且还是个水题),就来做了一发. 明显枚举立方根.(以下令 $m= ...
- redis持久化方式与优缺点
Redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化.redis支持四种持久化方式,一是 Snapshotting(快照)也是默认方式:二是Appen ...
- .NET Core WebApi帮助文档使用Swagger生成Api说明文档
Swagger也称为Open API,Swagger从API文档中手动完成工作,并提供一系列用于生成,可视化和维护API文档的解决方案.简单的说就是一款让你更好的书写API文档的框架. 我们为什么选择 ...
- 【操作系统之十五】iptables黑白名单、自定义链、网络防火墙、常用动作
1.黑白名单当链的默认策略为ACCEPT时,链中的规则对应的动作应该为DROP或者REJECT,表示只有匹配到规则的报文才会被拒绝,没有被规则匹配到的报文都会被默认接受,这就是"黑名单&qu ...
- Linux内核同步机制之原子操作
1.前言 原子操作指的是该操作不会在执行完毕之前被任何其它任务或事件打断,它是最小的执行单位,不会有比它更小的执行单位,原子实际上使用了物理学中物质微粒的概念,在Linux内核中,原子操作需要硬件的支 ...
- Kubernetes管理GPU应用
目录 简介 GPU驱动 Nvidia-docker Nvidia-device-plugin 在Kubernetes上运行GPU应用 附录 简介 伴随着人工智能技术的发展,机器学习的应用场景越来越广泛 ...
- HttpRuntime.Cache 与 HttpContext.Current.Cache
1.HttpRuntime.Cache是应用程序级别的, 2.而HttpContext.Current.Cache是针对当前WEB上下文定义的. 3.这二个都是调用的同一个对象,不同的是:HttpRu ...
- MySQL常用系统表汇总
在这篇文章中: MySQL5.7 默认模式 Information_schema performance_schema mysql sys MYSQL SHOW 命令 致谢 概述 本篇文章虽大部分内容 ...