一、Apache JMeter简介 JMeter是一个纯粹的Java编写的应用程序,它主要是用来进行负载和性能测试。原先它是为Web/HTTP测试而设计的。设计JMeter最初始的目的是用来测试Web Application但是现在已经扩展了很多功能。JMeter通常被用来对一些静态的或者动态资源(比如PHP, Java,ASP.Net等编写的Web,或者是Java Object, Data Bases and Queries, FTP 服务器等等)进行性能测试。 它通常模拟大量的数据对一个Server或者一个Server Group 网络等进行负载测试。然后通过分析它产生的性能图表来判断测试结果。和其他性能压测工具相比较,还是比较轻量级的,不够好像不支持IP伪装。官网有更详细的介绍 http://jmeter.apache.org/
开源免费,基于Java编写,可集成到其他系统可拓展各个功能插件 支持接口测试,压力测试等多种功能,支持录制回放,入门简单 相较于自己编写框架活其他开源工具,有较为完善的UI界面,便于接口调试 多平台支持,可在Linux,Windows,Mac上运行 轻量级,和其他测试工具相比更加灵活性 二、Apache JMeter的安装配置 Windows下Jmeter下载安装
点击http://jmeter.apache.org/download_jmeter.cgi 下载apache-jmeter-5.0.zip文件并解压
2.1 直接进入apache-jmeter-5.0\bin目录双击jmeter.bat(注意:要装好JDK环境才可以)直接弹出UI操作界面
2.4 /bin 目录常用文件介绍
examples:目录下包含Jmeter使用实例 ApacheJMeter.jar:JMeter源码包 jmeter.bat:windows下启动文件 jmeter.sh:Linux下启动文件 jmeter.log:Jmeter运行日志文件 jmeter.properties:Jmeter配置文件 jmeter-server.bat:windows下启动负载生成器服务文件 jmeter-server:Linux下启动负载生成器文件 /docs目录——Jmeter帮助文档 /extras目录——提供了对Ant的支持文件,可也用于持续集成 /lib目录——存放Jmeter依赖的jar包,同时安装插件也放于此目录 /licenses目录——软件许可文件,不用管 /printable_docs目录——Jmeter用户手册 三、Apache JMeter的使用流程 1、创建JMeter测试计划
进入到JMeter/bin文件夹并双击jmeter.bat 文件以启动JMeter界面。 单击“测试计划”节点。 将此测试计划节点重命名为Distributed Test 。 选择Distributed Test 节点,然后右键单击所选项目。 鼠标悬停在“Add” 选项上,然后将显示元素列表。 选择Threads (Users) > Thread Group 。 2、添加采样器
接下来在Thread Group中添加一个HTTP RequestSampler。
选择“Thread Group” ,然后右键单击所选项。 鼠标悬停在“Add” 选项上,然后将显示元素列表。 选择Sampler > HTTP request 选项。 它将添加一个空的HTTP请求采样器。 将HTTP Request Sampler的字段配置为:
Name - Home Page 。服务器名称或IP - 在这个示例中,Web服务器名称是 www.baidu.com 。 现在,将复制线程组并将其粘贴到测试计划中三次。 根据测试的网页重命名每个HTTP请求采样器。每个HTTP请求采样器的服务器名称都相同。
3、添加监听器
选择“Distributed Test Plan” 元素。 鼠标悬停在“Add” 选项上,然后将显示元素列表。 选择Listener -> Aggregate Report 。 4、保存并执行测试计划
单击File -> Save Test Plan as 。 将整个测试计划保存为Distributed_test1.jmx 。
5、验证输出
可以在#Samples 标签中查看每个网页的加载分布。
我们已经成功执行了分布式负载测试计划,但是不使用吞吐量控制器。 但是,在应用程序的实际负载测试期间,我们无法确定实际用户的数量。 在这种情况下,需要使用吞吐量控制器。
6、添加吞吐量控制器
首先,我们需要为测试计划创建一个主线程组(“Distributed Test”)。
选择“Distributed Test” 节点,然后右键单击所选项目。 鼠标悬停在“Add” 选项上,然后将显示元素列表。 选择“Threads (Users)” -> “Thread Group” 。 将此线程组重命名为Master Thread Group 。 选择“Master Thread Group” 节点,然后右键单击所选项。 鼠标悬停在“添加”选项上,然后将显示元素列表。 选择Logic Controller -> Throughput Controller 。 四、Apache JMeter使用注意事项 使用过程中,一定要注意控件的执行顺序以及变量的作用域。 Windows下支持"/""\"并存模式,推荐使用"/",方便跨平台使用。 如果要测试的接口可以组成一个流程,只需要顺序添加多个“HTTP 请求”的Sampler,各请求之间可以提取需要在上下文传递的数据作为参数,以保证流程中数据的一致性 参考
https://www.yiibai.com/jmeter/jmeter-distributed-load-test.html