JMeter介绍

简介: JMeter介绍

在本文中我们将了解什么是性能测试、为什么选择 JMeter、JMeter 与 HP LoadRunner。

什么是性能测试?

在我们继续探索 Jmeter 及其安装过程之前,我们需要了解什么是性能测试以及 JMeter 作为工具如何支持性能测试。

就像学生需要表现良好才能提升自己的水平一样。 同样,应用程序(移动或 Web 或桌面)需要表现良好,才能在竞争激烈的市场中更上一层楼。

性能测试衡量 您的应用程序在不同工作负载下的性能。 有许多参数可用于确定负载测试中的服务器是否运行良好,本文稍后将讨论这些参数。

  • 举一个简单的例子。 在浏览器中输入“www.facebook.com”,它显示了 Facebook 的主页使用时间10秒。 现在假设 1000 人同时输入“www.facebook.com”并点击 Google 主页显示可能超过 10 秒 。
  • 因此,在不同的工作负载(用户数量)下性能会发生变化。 这种类型的测试非常重要,因为无论您的应用程序有多么好的设计和功能,但如果它的性能很差,那么很有可能失去所有潜在的目标受众 。

通过下图我们可以清晰看到比较

FlowDiagram.jpg

性能测试主要考虑以下参数:
  • 吞吐量 - 它被定义为每秒的事务数。 例:假设银行客户服务一次只能处理 30 个呼叫,因此其余呼叫者需要排队。 这意味着吞吐量是 30
  • 响应时间 ——这个时间是用户从服务器收到响应所用的时间
  • 延迟 是信息的第一个字节到达用户端的时间。例:假设用户点击 HTTP 请求以检索网页。 因此,接收该网页的第一个字节的时间就是该请求的延迟时间
  • 可扩展性 - 它是指应用程序可以承受的最大负载
  • CPU 负载、内存使用和资源使用
为什么是JMeter?

JMeter 最初是由 Apache Software 的 Stefano Mazzocchi 开发的。 基本上,JMeter 是一个基于 Java 的桌面应用程序。 JMeter 使用 Swing 图形 API,不是由特定于平台的编码实现的,只要有JAVA即可。JMeter的安装自己行搜索。

Jmeter支持以下协议:

  • HTTP、HTTPS
  • FTP
  • JDBC
  • SMTP、IMAP
  • LDAP
  • TCP
  • SOAP

JMeter的优点:

  • 免费--JMeter是免费的,Apache官网下载即可;
  • 友好的界面--测试人员可以很容易地熟悉它的大部分组件,工具内提供每个组件的帮助文档
  • 高度可扩展--用户可以使用 JSR223 创建自己的采样器,并且有许多采样器插件可用,测试人员增加测试能力
  • 协议支持--JMeter 不仅可用于应用程序性能测试,还支持多种协议
  • 记录-- JMeter 内置了 HTTP(S) 测试脚本记录器,可用于记录来自网站或移动应用程序的所有操作,然后可以模拟负载以测试各种负载条件下的性能。 此外,还有一个 chrome 扩展可用于记录操作,然后可以在 JMeter 中使用相同的脚本来扩展负载
  • 集成selenium--可以与selenium进行集成测试
  • 安装简单
  • 图形化的报告
HP LoadRunner VS JMeter
JMeter Loadrunner
开源,免费 惠普产品,许可证还是很贵的
协议支持有限 更多的协议支持
Jmeter 是一个基于 Java 的产品,使用基于 sprint 的 API,这使得它独立于平台,可以在任何环境下运行,无论是 win、mac、Linux。 它使用基于 C 的语言、Java、Java Script 和 VB。
负载生成能力有限。 在具有高 RAM 和处理器的机器上,Jmeter 只能产生 1-2k 用户的负载。 增加负载可能会导致内存不足异常。 负载生成能力更高。
Jmeter的技术熟练程度较低。 LoadRunner 技术精湛。
Jmeter 在云中运行有很多复杂性。 Load Runner 也很容易在云环境中运行。
Jmeter 中的录制功能非常简单,并且也支持可扩展性。 有一些 chrome 插件,可以直接在 Jmeter 中导入脚本。 与 Jmeter 相比,Load Runner 中的记录功能也不复杂。
Jmeter 的结果不是实时的。 LoadRunner 提供相对更实时的结果
Jmeter 在用于 SAP 等企业产品时效率不高。 即使使用 SAP、Siebel 等,Load Runner 也能提供高效的结果。
结论

JMeter 是市场上用于测试 Web 和移动应用程序的强大工具。 它非常易于使用并且不需要太多编程技能,除非在 JMeter 中编写自己的采样器。 将在接下来的系列文章中详细介绍每个组件,敬请期待!

相关文章
|
人工智能 语音技术 UED
仅用4块GPU、不到3天训练出开源版GPT-4o,这是国内团队最新研究
【10月更文挑战第19天】中国科学院计算技术研究所提出了一种名为LLaMA-Omni的新型模型架构,实现与大型语言模型(LLMs)的低延迟、高质量语音交互。该模型集成了预训练的语音编码器、语音适配器、LLM和流式语音解码器,能够在不进行语音转录的情况下直接生成文本和语音响应,显著提升了用户体验。实验结果显示,LLaMA-Omni的响应延迟低至226ms,具有创新性和实用性。
429 1
|
数据挖掘 Python
四分位距方法
四分位距方法
|
Prometheus 监控 Cloud Native
Ceph Reef(18.2.X)的内置Prometheus监控集群
这篇文章是关于Ceph Reef(18.2.X)版本中内置Prometheus监控集群的使用方法,包括如何查看集群架构、访问Prometheus、Grafana、Node-Exporter和Alertmanager的Web界面,以及推荐阅读的自实现Prometheus监控资源链接。
221 2
|
存储 算法 Java
Java性能优化(三):Java基础-HashMap的设计与优化
HashMap核心特性数据结构:HashMap采用哈希表数据结构来存储键值对,利用哈希函数和哈希表快速定位元素位置,提供高效的键值对查询。参数设置初始容量:HashMap允许用户根据使用场景设定初始容量,以优化性能。在预知数据量时,可以通过计算(初始容量=预知数据量/加载因子)来设定合适的初始容量,以减少扩容操作,提高效率。加载因子:加载因子定义了哈希表何时进行扩容的阈值。加载因子较小时,哈希表会更早地进行扩容,减少哈希冲突;加载因子较大时,会提高内存利用率但可能增加哈希冲突。
644 2
|
编解码 网络协议 C#
wpf下如何实现超低延迟的RTMP或RTSP播放
本文介绍在Windows平台上使用大牛直播SDK的SmartPlayer模块实现在WPF中播放RTMP/RTSP流的方法。通过设置回调函数并选择RGB32格式,可以直接处理视频帧数据进行显示。此外,也可利用PictureBox控件简化视频流的展示。文章提供了示例代码,展示了如何初始化播放器、开始及停止播放,并演示了同时播放两路不同分辨率流的效果及CPU占用情况。SmartPlayer支持多实例播放、多种视频与音频格式、软硬解码、以及丰富的功能特性,适用于多种应用场景。
408 1
|
存储 固态存储 异构计算
阿里云服务器租用一个月教程、收费标准与活动价格参考
阿里云服务器可以月租也可以年租,阿里云的活动中云服务器时长大多都是1年或3年,比较符合大多数用户的需求,但是也有少部分用户只想购买1个月或者3个月、6个月阿里云服务器来体验,但是又不知道选择月付的具体租用流程及月付的收费标准情况,本文为大家介绍一下租用时选择月付的具体流程以及月付的收费标准情况,以供参考。
阿里云服务器租用一个月教程、收费标准与活动价格参考
|
监控 前端开发 关系型数据库
常见性能工具一览
今天写了一个调试工具的文章,就有人说起工具到底要会哪些。既然提到这儿了,那就多写几句吧。
447 2
常见性能工具一览
外贸网站服务器该如何选择?别再踩雷了
以上因素都应在选择外贸网站服务器时考虑。在选择服务器时,不要只看价格,要全面考虑,避免踩雷。
392 0
|
存储 物联网 程序员
C语言与硬件交互
C语言因其低级别特性和高性能在系统编程和硬件交互中广泛应用。它提供内存操作和底层指令调用来直接控制硬件,尤其是在嵌入式系统、操作系统内核和驱动开发中。通过指针操作内存地址实现硬件寄存器的读写,或使用内联汇编调用底层指令,但要注意权限、内存映射、并发问题和硬件差异。文中还给出了简单的读写硬件状态和控制设备的C语言代码示例。在高级应用中,C语言用于编写驱动程序和实时操作系统,是底层开发的关键技能。
|
存储 监控 NoSQL
解密推荐系统:用Redis解决特征存储问题
解密推荐系统:用Redis解决特征存储问题
423 0