『动善时』JMeter基础 — 1、JMeter介绍
1、什么是JMeter
- Apache JMeter是Apache组织开发的基于Java的压力测试工具,用于对软件做压力测试。它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 (Apache JMeter是100%纯JAVA桌面应用程序)
- Apache JMeter可以用于对静态和动态资源(如:文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)进行性能测试。
- JMeter 可以用于对服务器、网络或对象模拟巨大的负载,通过不同压力类别,测试它们的强度和分析整体性能,并可以使用它做性能的图形分析。
- JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序是否返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
- Jmeter是一个开源的工具,在使用的过程中,如果需要使用更多功能,就需要安装相应的插件。
总结:JMeter做什么
- 接口测试
- 性能测试:程序的算法
- 压力测试:外在负载
- 数据库测试
- java 程序测试
- FTP服务器测试
(前面四个用的比较多)
2、为什么使用JMeter
JMeter优势如下:

- 开源:JMeter完全免费,允许开发者使用源代码进行二次开发。
- 友好的GUI:JMeter使用起来非常容易,不需要花时间熟悉。
- 平台独立:JMeter是100%纯Java桌面应用程序,所以可以多平台运行。
- 完全多线程框架:JMeter允许通过多个线程并发取样和通过单独的线程组对不同的功能同时取样。
- 可视化的测试结果:测试结果可以用不同的报表显示,如:图表、表格、树和日志文件。
- 安装方便:你不用安装,只需复制并打开
*.bat文件运行JMeter。(轻量级) - 高度扩展:你可以编写你自己的测试,JMeter还支持可视化插件,允许您扩展您的测试。
- 多测试策略:JMeter支持多个测试策略,如:负载测试、分布式测试和功能测试。
- 仿真:JMeter可以模拟多用户并发线程,创建一个沉重的负担对web应用程序测试下。
- 支持多协议:JMeter不仅测试支持web应用程序,还可以评估数据库服务器的性能。
JMeter基本支持所有的协议(如:HTTP、JDBC、LDAP、SOAP、JMS、和FTP)。 - 录制和回放:录制用户在浏览器和web应用程序的记录,使用JMeter进行模拟。
- 脚本测试:JMeter可以集成
Bean Shell和Selenium自动化测试。
3、JMeter的缺点:
- 使用JMeter无法验证JS程序,也无法验证页面UI,所以要须要和Selenium配合来完成Web2.0应用的测试。(配合的意思就是在验证页面或者js程序的时候,使用Selenium。并不是结合的意思,是单独使用。)
- JMeter不支持IP欺骗。
- JMeter的测试脚本和结果基本都是本地管理,不支持版本控制管理。
4、JMeter对比 loadrunner
JMeter的架构跟loadrunner原理一样,都是通过中间代理,监控&收集并发客户端发现的指令,把他们生成脚本,再发送到应用服务器,再监控服务器反馈的结果的一个过程。
- JMeter安装简单,LoadRunner安装麻烦。
- JMeter组件小,LoadRunner占用空间比较大。
- JMeter不支持IP欺骗,LoadRunner支持。
- 脚本录制功能两者都支持。
- JMeter支持报表,但分析能力不足。LoadRunner支持报表,数据完成,界面漂亮。
- JMeter是开源的(免费),LoadRunner是商业软件,需要收费。
- JMeter易用性更强,JMeter的脚本修改,主要是对Jmeter中各个部件的熟悉程度,已经相关的一些协议的掌握情况,而不依赖于编程。
LoadRunner除了复杂的场景设置外,还需要掌握函数和修改脚本(如果单单只会录制脚本,并不叫性能测试哦~)。
总结如下表:

『动善时』JMeter基础 — 1、JMeter介绍的更多相关文章
- 『动善时』JMeter基础 — 6、使用JMeter发送一个最基础的请求
目录 步骤1:创建一个测试计划 步骤2:创建线程组 步骤3:创建取样器 步骤4:创建监听器 步骤5:完善信息 步骤6:保存测试计划 步骤7:查看结果 总结:JMeter测试计划要素 当我们第一次打开J ...
- 『动善时』JMeter基础 — 58、JMeter分布式测试
目录 1.JMeter分布式测试概念 2.JMeter分布式测试前提条件 3.JMeter实现分布式测试 (1)在执行机中的配置 (2)在控制机中的配置 (3)启动执行机中的JMeter服务 (4)在 ...
- 『动善时』JMeter基础 — 3、JMeter插件管理
JMeter是一个Java开发的开源软件,开源的软件有一个好处,就是会有很多第三方开发出来的插件,使得JMeter在处理某一些功能的时候更加的方便.并且这些插件拿过来就可以使用,完全免费的. 我们安装 ...
- 『动善时』JMeter基础 — 57、Linux系统中运行JMeter脚本
目录 1.Linux系统中安装Java环境 (1)解压Java安装包 (2)配置Java环境变量 (3)验证Java环境是否配置成功 2.Linux系统中安装JMeter (1)下载JMeter (2 ...
- 『动善时』JMeter基础 — 8、JMeter主要元件介绍
目录 1.测试计划(Test Plan) 2.线程组 3.取样器(sampler) 4.逻辑控制器(Logic Controller) 5.配置元件(Config Element) 6.定时器(Tim ...
- 『动善时』JMeter基础 — 20、JMeter配置元件【HTTP Cookie管理器】详细介绍
目录 1.HTTP Cookie管理器介绍 2.HTTP Cookie管理器界面详解 3.JMeter中对Cookie的管理 (1)Cookie的存储 (2)Cookie的管理策略 4.补充:Cook ...
- 『动善时』JMeter基础 — 37、将JMeter测试结果写入Excel
目录 1.环境准备 (1)引入操作Excel文件的基础JAR包 (2)引入封装自定义操作Excel文件的JAR包 2.准备测试需要的数据 3.测试结果写入Excel演示 (1)测试计划内包含的元件 ( ...
- 『动善时』JMeter基础 — 40、JMeter中ForEach控制器详解
目录 1.什么是逻辑控制器 2.ForEach控制器介绍 3.ForEach控制器的使用 (1)测试计划内包含的元件 (2)获取学院列表请求内容 (3)JSON提取器内容 (4)ForEach控制器内 ...
- 『动善时』JMeter基础 — 41、使用JMeter连接数据库(MySQL)
目录 1.为什么要使用JMeter连接数据库 2.JMeter连接数据库的前提 3.JDBC连接配置组件界面介绍 4.JMeter连接数据库演示 (1)测试计划内包含的元件 (2)测试计划中添加链接数 ...
随机推荐
- 看完我的笔记不懂也会懂----MongoDB
MongoDb数据库学习 - 数据库的分类 - 数据库基本概念 - MongoDB常用指令 - MongoDB的CURD - sort({key:*[1,-1]}).limit(num).skip(n ...
- secure 审计暴力登陆
文件路径 cd /var/log -rw------- 1 root root 1200063 Aug 10 20:04 secure 做应急响应,或者做脚本监控的时候,都可以参考如下特征 ... A ...
- HoloWAN在连接路由器时应该选择WAN口还是LAN口,有什么区别?
HoloWAN在连接路由器时应该选择WAN口还是LAN口,有什么区别? 在解决问题前,需要连接到,路由器的WAN口和LAN口的作用不同. WAN口是对外的接口,连接广域网.当联网设备和路由器都开启了D ...
- vue打开新窗口并且实现传参,有图有真相
我要实现的功能是打开一个新窗口用来展示新页面,而且需要传参数,并且参数不能显示在地址栏里面,而且当我刷新页面的时候,传过来的参数不能丢失,要一直存在,除非我手动关闭这个新窗口,即浏览器的标签页. 通过 ...
- Vue入门干货,以及遇到的坑
一.安装环境及Vue脚手架搭建 参考文档:https://www.jianshu.com/p/1626b8643676 二.开发文档 官方文档:https://cn.vuejs.org/v2/guid ...
- 面试准备——计算机网络(https)
一.为什么要提出HTTPS? HTTP的缺点: 明文通信.不加密,可能被窃听. 无身份验证,可能遭遇伪装. 无法证明报文的完整性,可能被篡改. 二.HTTPS = HTTP+加密(防窃听)+认证(防伪 ...
- 002-JVM部分
JVM部分数据整理 一.运行时数据区域 Java运行时内存区域主要分为线程私有区域[程序计数器.虚拟机栈.本地方法区].线程共享区域[Java堆.方法区].直接内存(不受JVM GC管理) 1.线程私 ...
- 数据库遇到的问题——mysql在线修改表结构大数据表的风险与解决办法归纳
互联网应用会频繁加功能,修改需求.那么表结构也会经常修改,加字段,加索引.在线直接在生产环境的表中修改表结构,对用户使用网站是有影响. 以前我一直为这个问题头痛.当然那个时候不需要我来考虑,虽然我们没 ...
- js toFixed
为什么(2.55).toFixed(1)等于2.5? 上次遇到了一个奇怪的问题:JS的(2.55).toFixed(1)输出是2.5,而不是四舍五入的2.6,这是为什么呢? 进一步观察: 发现,并不是 ...
- shiro太复杂?快来试试这个轻量级权限认证框架!
前言 在java的世界里,有很多优秀的权限认证框架,如Apache Shiro.Spring Security 等等.这些框架背景强大,历史悠久,其生态也比较齐全. 但同时这些框架也并非十分完美,在前 ...