介绍
JMeter是Apache下一个类似LoadRunner的开源性能测试项目,可用用来对静态的和动态的资源(如:files, Servlets, Perl scripts, Java Objects, Data Bases and Queries, FTP Servers)的性能进行测试.
可对以下类型服务进行性能测试:
Web - HTTP, HTTPS
SOAP
Database via JDBC
LDAP
JMS
Mail - POP3(S) and IMAP(S)
官方网站:http://jmeter.apache.org/
基本概念
测试计划:
使用JMeter进行测试的起点,是其它JMeter测试元件的容器
线程组
代表一定数量的并发用户,它可以用来模拟并发用户发送请求。实际的请求内容在Sampler中定义,它被线程组包含。可以在“测试计划->添加->线程组”来建立它,然后在线程组面板里有几个输入栏:线程数、Ramp-Up Period(in seconds)、循环次数,其中Ramp-Up Period(in seconds)表示在这时间内创建完所有的线程。如有8个线程,Ramp-Up = 200秒,那么线程的启动时间间隔为200/8=25秒,这样的好处是:一开始不会对服务器有太大的负载。线程组是为模拟并发负载而设计。
取样器(Sampler)
模拟各种请求。所有实际的测试任务都由取样器承担,存在很多种请求。如:HTTP 、ftp请求等等.
监听器
负责收集测试结果,同时也被告知了结果显示的方式。功能是对取样器的请求结果显示、统计一些数据(吞吐量、KB/S……)等。
断言
用于来判断请求响应的结果是否如用户所期望,是否正确。它可以用来隔离问题域,即在确保功能正确的前提下执行压力测试。这个限制对于测试的有效性非常有用.
定时器
负责定义请求(线程)之间的延迟间隔,模拟对服务器的连续请求。
逻辑控制器
允许自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列.
配置元件
维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容.
前置处理器/后置处理器
负责在生成请求之前和之后完成工作。前置处理器常常用来修改请求的设置,后置处理器则常常用来处理响应的数据。
构建测试
添加线程组
按下图设置:500 x 200 = 10万 个线程 访问getNoticeById() 接口,tomcat工作线程全部被占用,导致处理慢,甚至超时
添加 http 请求
如下图设置url:
http://localhost:8080/getNoticeById/195c6547e5044c759dc39caf317998c5
添加察看结果树
可以查看每个请求的执行结果
添加汇总报告
查看汇总结果
添加聚合报告
查看聚合结果
添加汇总图
以图表的形式展示
启动测试
点击下图绿色启动按钮,开始测试
查看 察看结果树
可以查看每个请求的信息,成功显示绿色,失败显示红色
查看 汇总报告
可以查看汇总信息,如:异常(失败的比例)
查看 聚合报告
可以查看聚合报告,如:异常(失败的比例)
查看汇总图
勾选要显示的数据,如下图:
点击 【显示图表】 显示图表
清空结果数据
点击下图红框按钮,情况 【HTTP请求】、【察看结果树】等数据
参考:
https://www.iteye.com/blog/hot66hot-1732209













