JMeter 简介
一则或许对你有用的小广告
欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论
- 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于
Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...
,点击查看项目介绍 ; - 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;
截止目前, 星球 内专栏累计输出 63w+ 字,讲解图 2808+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2200+ 小伙伴加入学习 ,欢迎点击围观
JMeter 最初被使用在 Web 应用程序或 FTP 应用程序,用于压力,负载,并发,性能方面的测试。而如今,它也用于功能测试,数据库服务器测试等领域。
为什么要选择 JMeter ?
作为一名开发人员,您是否测试过后台服务某个接口的性能?这个接口能并发处理多少个请求?
没有?如果有一天,老板命令你做个性能测试,同时模拟 100 个用户并发对 www.google.com 请求?你要怎么做?
分配 100 台 PC 来模拟 100 个人同时访问 www.google.site 显然是不可行的!所以,您需要一款像 JMeter 一样的测试工具,来模拟真实用户对目标网站进行性能/负载测试。
JMeter 特性
JMeter 有如下诸多优点:
- 开源许可证:JMeter 完全免费,所以您可以在源代码的基础上进行拓展;
- 友好的 GUI:JMeter 易于使用,并且您不需要花多长时间来熟悉它;
- 多环境运行:JMeter 是 100% 纯 Java 桌面应用程序。支持多个平台上运行;
- 完善的多线程框架: JMeter 允许通过单独的线程组同时和同时采样不同的函数;
- 测试结果可视化:测试结果可以以不同的格式展示,如图表,表格,树和日志文件等;
- 易安装:您只需复制并运行
.bat
文件即可运行 JMeter, 绿色无需安装; - 高度可扩展:您可以编写自己的测试, JMeter还支持可视化插件,允许您自定义扩展;
- 丰富的测试策略:JMeter支持多种测试策略,如负载测试,分布式测试和功能测试等;
- 并发模拟:JMeter 支持多线程并发,模拟多个用户请求;
- 多协议支持:JMeter 不仅支持 Web 应用程序测试,还能评估数据库服务器性能。另外,JMeter 支持所有基本协议,如
HTTP
,JDBC
,LDAP
,SOAP
,JMS
以及FTP
; - 录制及回放 :能够录制用户在浏览器的行为,通过 JMeter 来模拟;
- 脚本测试:Jmeter 能够集成 Bean Shell 和 Selenium ,进行自动化测试。
JMeter 是如何工作的?
JMeter 的基本工作流程如下图所示:
上图是通过 JMeter 模拟一组用户给目标服务发送请求,然后通过图形表格的方式返回该服务器的统计信息。
再看下一个完整的 JMeter 流程:
JMeter 历史版本
版本 | 描述 |
---|---|
1 | 第一版本正式发行 |
2.13 | Java 6+ |
3 | Java 7+ |
3.1 | Java 7+ |
3.2 | Java 8+ |
3.3 | Java 8 |
4 | Java 8/9 |