什么是 JMeter?介绍与用途

什么是 JMeter?它有什么用?

Apache JMeterTM 是纯 Java 开源软件,最初由 Apache 软件基金会的 Stefano Mazzocchi 开发,旨在对功能行为进行负载测试和性能测量。您可以使用 JMeter 分析和测量 Web 应用程序或各种服务的性能。性能测试是指在重负载、多个并发用户流量下测试 Web 应用程序。JMeter 最初用于测试 Web 应用程序或 FTP 应用程序。如今,它被用于功能测试、数据库服务器测试等。

Apache JMeter

为什么选择 JMeter?

Introduction to JMeter

您是否曾测试过 Web 服务器以了解其工作效率?Web 服务器可以处理多少并发用户?

假设有一天,您的老板要求您对 www.google.com 进行 100 个用户的性能测试。您会怎么做?

Introduction to JMeter

安排 100 个人同时使用 PC 和互联网访问 google.com 是不可行的。想想当您测试 10000 个用户(对于像 Google 这样的网站来说是一个小数目)时所需的基础设施。因此,您需要像 JMeter 这样的软件工具来模拟真实用户行为并对您的网站进行性能/负载测试。

JMeter 优点

JMeter 的优点如下图所示

JMeter Advantages

  • 开源许可证:JMeter 完全免费,允许开发人员使用源代码进行开发
  • 友好的 GUI:JMeter 使用起来非常简单,并且很快就能熟悉
  • 平台独立:JMeter 是一个 100% 纯 Java 桌面应用程序。因此它可以在多个平台上运行
  • 完整的多线程框架。JMeter 允许通过单独的线程组对不同的功能进行并发和同步采样
  • 可视化测试结果:测试结果可以以图表、表格、树形和日志文件等不同格式显示
  • 易于安装:您只需复制并运行 *.bat 文件即可运行 JMeter。无需安装。
  • 高度可扩展:您可以编写自己的测试。JMeter 还支持可视化插件,允许您扩展测试
  • 多种测试策略:JMeter 支持多种测试策略,例如负载测试、分布式测试和功能测试
  • 模拟:JMeter 可以模拟多个用户并发线程,对被测 Web 应用程序创建重负载
  • 支持多协议:JMeter 不仅支持 Web 应用程序测试,还评估数据库服务器性能。所有基本协议,如 HTTP、JDBC、LDAP、SOAP、JMS 和 FTP,都受 JMeter 支持
  • 录制与回放 录制浏览器上的用户活动,并使用 JMeter 在 Web 应用程序中模拟它们
  • 脚本测试:JMeter 可以与 Bean Shell 和 Selenium 集成,用于自动化测试。

JMeter 如何工作?

JMeter 的基本工作流程如下图所示

JMeter 模拟一组用户向目标服务器发送请求,并通过图形图表返回目标服务器的统计信息

JMeter working

JMeter 的完整工作流程如下图所示

JMeter working

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