热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

性能测试工具JMeter环境搭建

性能测试工具中,LoadRunner和JMeter分别是商业软件和开源软件中比较知名的,

性能测试工具中,LoadRunner和JMeter分别是商业软件和开源软件中比较知名的,LoadRunner使用是需要付费的,国内使用LoadRunne的企业应该有不少都是用的和谐版,我做性能专项测试开始也是用的LoadRunner,突然有一天公司为了避免法律诉讼风险要求所有的性能测试全部转向使用JMeter,给了我们一个版本周期的时间要求把所有已有的性能测试用例全部使用JMeter进行重新录制,在已经非常熟悉LoadRunner的情况下转向JMeter是非常痛苦的,因为刚开始完全无法适应JMeter的那一套使用方式,公司的强制推动让我们最终成功转向了使用JMeter来开展性能测试,同时我也发现JMeter其实挺好用的,目前已经成为各公司主力选择的性能测试工具了。

JMeter能支持的场景非常广泛,很多公司用它来开展接口的自动化测试,我们来看看官方列出JMeter能支持的应用/服务/协议:

  • Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …)

  • SOAP REST Webservices

  • FTP

  • Database via JDBC

  • LDAP

  • Message-oriented middleware (MOM) via JMS

  • Mail - SMTP(S), POP3(S) and IMAP(S)

  • Native commands or shell scripts

  • TCP

  • Java Objects

更重要的是JMeter是开源的,它可以使用插件来扩展自己所需的功能,不仅可以自己写插件,可以直接从插件管理中下载各种所需的插件来适配所需的场景。

工欲善其事必先利其器,接下来我们先一步步来完成JMeter环境的搭建,JMeter是纯Java语言开发的,因此使用JMeter依赖JDK,并且JMeter是跨平台在Windows、Linux、MAC下都可以使用。

下载JMeter

通过官网下载链接
https://jmeter.apache.org/download_jmeter.cgi进入下载页面,以最新的5.4.1版本为例


如果使用Windows系统下载文件apache-jmeter-5.4.1.zip,下载完毕后解压到任意目录即可。

如果使用Linux系统下载文件apache-jmeter-5.4.1.tgz,cd到文件下载目录执行解压命令。

cd home

tar -zxvf apache-jmeter-5.4.1.tgz


安装JDK

JMeter只需要下载解压即可,无需安装步骤,如果系统已经安装了JDK1.8及以上版本,JMeter环境就搭建好了,如果还未安装JDK,接下来还需要最后一步就是下载并安装JDK,这里以JDK11版本为例

Windows系统下JDK的安装

清华镜像站下载链接
https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/11/jdk/x64/windows/,下载msi格式文件


双击进行安装,选择默认选项一路下一步直到安装完成


新打开一个cmd窗口,执行java -version命令如果显示下面的java版本信息则表示jdk安装成功


Linux系统下JDK的安装

清华镜像站下载链接
https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/11/jdk/x64/linux/,下载下图标注的文件(如果在windows下下载,需使用sftp工具上传到linux系统指定目录)


cd到下载文件所在的路径并解压

cd home

tar -zxvf OpenJDK11U-jdk_x64_linux_hotspot_11.0.13_8.tar.gz


切换到root用户,vi命令打开/etc/profile文件

vi etc/profile

在文件的末尾添加如下内容,设置JAVA_HOME环境变量,注意JAVA_HOME以实际解压的路径为准

export JAVA_HOME=/home/jdk-11.0.13+8
export PATH=$PATH:$JAVA_HOME/bin

执行如下命令使环境变量生效

source /etc/profile

执行java -version查看java版本信息,如果正确显示则表示JDK安装成功


注意:在root如下查看java -version返回了正确的版本信息,但是退回到非root用户下如果遇到java -version命令返回无法识别java命令,可以尝试关闭ssh连接,重新连接服务器试试

启动JMeter

Windows系统下启动JMeter,执行JMeter解压文件bin目录中的jmeterw.cmd


弹出如下JMeter窗口界面,则表示JMeter可以正常使用了


Linux系统常作为服务器使用,是无界面的,JMeter可以无界面运行,后续介绍其使用方法时会详细讲解,cd到JMeter解压后的bin目录下,执行./jmeter -v如果显示如下信息则表示JMeter可以正常使用




推荐阅读
  • JVM参数设置与命令行工具详解
    JVM参数配置与命令行工具的深入解析旨在优化系统性能,通过合理设置JVM参数,确保在高吞吐量的前提下,有效减少垃圾回收(GC)的频率,进而降低系统停顿时间,提升服务的稳定性和响应速度。此外,本文还将详细介绍常用的JVM命令行工具,帮助开发者更好地监控和调优JVM运行状态。 ... [详细]
  • 在处理遗留数据库的映射时,反向工程是一个重要的初始步骤。由于实体模式已经在数据库系统中存在,Hibernate 提供了自动化工具来简化这一过程,帮助开发人员快速生成持久化类和映射文件。通过反向工程,可以显著提高开发效率并减少手动配置的错误。此外,该工具还支持对现有数据库结构进行分析,自动生成符合 Hibernate 规范的配置文件,从而加速项目的启动和开发周期。 ... [详细]
  • 该大学网站采用PHP和MySQL技术,在校内可免费访问某些外部收费资料数据库。为了方便学生校外访问,建议通过学校账号登录实现免费访问。具体方案可包括利用学校服务器作为代理,结合身份验证机制,确保合法用户在校外也能享受免费资源。 ... [详细]
  • 深入解析Java虚拟机的内存分区与管理机制
    Java虚拟机的内存分区与管理机制复杂且精细。其中,某些内存区域在虚拟机启动时即创建并持续存在,而另一些则随用户线程的生命周期动态创建和销毁。例如,每个线程都拥有一个独立的程序计数器,确保线程切换后能够准确恢复到之前的执行位置。这种设计不仅提高了多线程环境下的执行效率,还增强了系统的稳定性和可靠性。 ... [详细]
  • 本指南介绍了如何在ASP.NET Web应用程序中利用C#和JavaScript实现基于指纹识别的登录系统。通过集成指纹识别技术,用户无需输入传统的登录ID即可完成身份验证,从而提升用户体验和安全性。我们将详细探讨如何配置和部署这一功能,确保系统的稳定性和可靠性。 ... [详细]
  • Python 伦理黑客技术:深入探讨后门攻击(第三部分)
    在《Python 伦理黑客技术:深入探讨后门攻击(第三部分)》中,作者详细分析了后门攻击中的Socket问题。由于TCP协议基于流,难以确定消息批次的结束点,这给后门攻击的实现带来了挑战。为了解决这一问题,文章提出了一系列有效的技术方案,包括使用特定的分隔符和长度前缀,以确保数据包的准确传输和解析。这些方法不仅提高了攻击的隐蔽性和可靠性,还为安全研究人员提供了宝贵的参考。 ... [详细]
  • 本指南详细介绍了如何在CentOS 6.6 64位系统上以root用户身份部署Tomcat 8服务器。系统环境为CentOS 6.6 64位,采用源码安装方式。所需软件为apache-tomcat-8.0.23.tar.gz,建议将软件下载至/root/opt目录。具体下载地址请参见官方资源。本指南涵盖了从环境准备到服务启动的完整步骤,适用于需要在该系统环境下搭建高性能Web应用服务器的技术人员。 ... [详细]
  • 本文深入探讨了Java多线程环境下的同步机制及其应用,重点介绍了`synchronized`关键字的使用方法和原理。`synchronized`关键字主要用于确保多个线程在访问共享资源时的互斥性和原子性。通过具体示例,如在一个类中使用`synchronized`修饰方法,展示了如何实现线程安全的代码块。此外,文章还讨论了`ReentrantLock`等其他同步工具的优缺点,并提供了实际应用场景中的最佳实践。 ... [详细]
  • 在处理大图片时,PHP 常常会遇到内存溢出的问题。为了避免这种情况,建议避免使用 `setImageBitmap`、`setImageResource` 或 `BitmapFactory.decodeResource` 等方法直接加载大图。这些函数在处理大图片时会消耗大量内存,导致应用崩溃。推荐采用分块处理、图像压缩和缓存机制等策略,以优化内存使用并提高处理效率。此外,可以考虑使用第三方库如 ImageMagick 或 GD 库来处理大图片,这些库提供了更高效的内存管理和图像处理功能。 ... [详细]
  • Java中高级工程师面试必备:JVM核心知识点全面解析
    对于软件开发人员而言,随着技术框架的不断演进和成熟,许多高级功能已经被高度封装,使得初级开发者只需掌握基本用法即可迅速完成项目。然而,对于中高级工程师而言,深入了解Java虚拟机(JVM)的核心知识点是必不可少的。这不仅有助于优化性能和解决复杂问题,还能在面试中脱颖而出。本文将全面解析JVM的关键概念和技术细节,帮助读者全面提升技术水平。 ... [详细]
  • 本课程详细解析了Spring AOP的核心概念及其增强机制,涵盖前置增强、后置增强和环绕增强等类型。通过具体示例,深入探讨了如何在实际开发中有效运用这些增强技术,以提升代码的模块化和可维护性。此外,还介绍了Spring AOP在异常处理和性能监控等场景中的应用,帮助开发者更好地理解和掌握这一强大工具。 ... [详细]
  • Spring框架下发送嵌入图片邮件时遇到的技术挑战与解决方案
    在Spring框架中发送嵌入图片的HTML格式邮件时,常遇到技术挑战。一种有效的解决方案是在邮件内容中直接使用``标签来引用图片。此外,还可以通过MimeMessageHelper类的addInline方法将图片作为内联资源添加到邮件中,确保图片能够正确显示。这种方法不仅提高了邮件的可读性,还增强了用户体验。 ... [详细]
  • 求助:在CentOS 5.8系统上安装PECL扩展遇到问题
    在 CentOS 5.8 系统上尝试安装 APC 扩展时遇到了问题,具体表现为 PECL 工具无法正常工作。为了确保顺利安装,需要解决 PECL 的相关依赖和配置问题。建议检查 PHP 和 PECL 的版本兼容性,并确保所有必要的库和开发工具已正确安装。此外,可以尝试手动下载 APC 扩展的源代码并进行编译安装,以绕过 PECL 工具的限制。 ... [详细]
  • 动态壁纸 LiveWallPaper:让您的桌面栩栩如生(第二篇)
    在本文中,我们将继续探讨如何开发动态壁纸 LiveWallPaper,使您的桌面更加生动有趣。作为 2010 年 Google 暑期大学生博客分享大赛 Android 篇的一部分,我们将详细介绍 Ed Burnette 的《Hello, Android》第三版中的相关内容,并分享一些实用的开发技巧和经验。通过本篇文章,您将了解到如何利用 Android SDK 创建引人入胜的动态壁纸,提升用户体验。 ... [详细]
  • 本文将深入探讨Java编程语言中顶级类`Object`的源码实现,旨在为Java新手提供进阶指导。`Object`类是所有Java类的基类,了解其内部机制对于提升编程技能至关重要。文章首先介绍了API文档的使用方法,这对于有开发经验的Java程序员来说是不可或缺的工具。通过详细解析`Object`类的关键方法和属性,读者可以更好地理解Java的核心原理和设计思想。此外,文章还提供了实际代码示例,帮助读者在实践中掌握这些知识。 ... [详细]
author-avatar
寒夜孤星TM
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有