本文翻译自:https://www.guru99.com/introduction-to-jmeter.html
什么是JMeter?为什么要使用它?
Apache Jmeter是Apache软件基金会的 Stefano Mazzocch设计和开发的一个纯Java开源软件,JMeter用于压力测试、性能测试。你可以使用JMeter来分析和测试你的web应用或者其他的服务。性能测试是指对应用施加大量的压力,如大量的、不同的、并发的用户请求。最初JMeter只是用来测试HTTP、FTP类型的应用。到今天,它可以用于测试各种功能、数据库服务等不同的应用(具体支持的测试类型可以参考官方文档)。
https://jmeter.apache.org/ 官网有非常详细的高质量文档和教程
你曾经测试过一个web应用的最大可用性能吗?这个web应用最大的可处理的并发用户数是多少呢?
假如有一天,老板让你对百度进行100个并发用户的测试,你会怎么做?
安排100个人使用电脑同时去访问www.baidu.com是不可行的,如果是1000个并发呢?再说也没法做到所有人同时访问百度。(1000个并发对百度来说应该是可以忽略的)因此,你需要一个像JMeter这样的软件,它可以模拟真实用户的行为,对你的网站进行压力/性能测试。
JMeter的优势
开源项目:JMeter是完全遵循开源协议的项目,允许开发者使用完整的源码
界面友好:JMeter的界面非常易于使用,几乎不用花时间就可以上手
跨平台: JMeter是100%的Java语言开发,所以在任何平台只要有JVM环境就可以运行
多线程框架:JMeter支持多线程模拟多用户并发场景,并可以通过不同的线程组来隔离不同的线程
可视化结果:测试结果可以通过图表、图像、结果树、日志文件等各种形式展示
易于安装:JMeter不需要安装,只要下载包到本地,执行bin目录下的可执行文件(jmeter/jmeter.bat)即可
高扩展性:JMeter支持符合规则的扩展插件(网上有各种强大的插件可以下载)
支持多种测试类型:JMeter可以用来做压力测试、性能测试、功能测试等等
模拟真实用户: JMeter支持多用户并发模拟,通过参数化实现不同的用户行为模拟来进行测试
多协议支持:JMeter不仅支持HTTP协议类型的应用,还支持数据库性能测试;另外支持所有的基础协议类型,如: HTTP, JDBC, LDAP, SOAP, JMS, and FTP都是支持的
录制回放: JMeter的UI界面还支持录制回放功能,可以录制浏览器的行为,重复进行回放
支持脚本:JMeter整合了BeanShell & selenium,支持自动化的脚本驱动测试
JMeter是如何工作的?
JMeter的主要工作流程大致如下图所示:
JMeter模拟用户组对目标服务器发出请求,服务器处理请求后,返回结果到JMeter进行展示。
JMeter的完整工作流程大致如下图所示:
JMeter的历史版本
主要说明JMeter历史版本与Java版本的兼容