【P1】Jmeter 准备工作

这篇具有很好参考价值的文章主要介绍了【P1】Jmeter 准备工作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、Jmeter 介绍

1.1、Jmeter 有什么样功能

Apache JMeter 是一个开源、纯 Java、优秀的性能测试工具

能够测试许多不同的应用程序/服务器/协议类型:

  • HTTP、HTTPS

  • REST、SOAP

  • JDBC

  • FTP

  • LDAP

  • JMS 消息类

  • 邮件类(SMTP、POP3、和IMAP)

  • 命令或 shell 脚本

  • TCP

  • Java 请求扩展

主要特性:

  • 可视化设计、功能齐全 (可视化)

  • 快速设计测试计划、简单构建和调试程序 (简易性)

  • 内置八大组件,功能强大,高度灵活设计 (高灵活)

  • 完全、快速的可移植性和 100% Java 纯度 (跨平台)

  • 核心功能高度可扩展,可以快速进行二次开发(高扩展)

1.2、Jmeter 与 LoadRunner 比较

比较点 Jmeter 5.x Loadrunner 2021
协议 开源协议 商业版、社区版(用户数有限制)
安装 体积小、易安装 体积庞大、安装时间长
跨平台性 Java 编写,支持多种操作系统和跨平台操作 界面仅支持 windows,压力机支持 Linux
功能性方面 比较强大,常用协议使用时与 LR 相差不大 非常强大,协议多
界面体验 稍弱
脚本录制 比较方便 非常方便,种类大
测试计划 稍弱 强大
指标分析 界面稍弱 界面友好,功能强大
学习成本 入门快,学至后面需要掌握 Java 语言 入门较快,学至后面需要 C 语言
软件性能 中等

总结:

  • 在目前市场来讲,Jmeter 为必备技能、LoadRunner 为加强技能(个人技能)

  • Jmeter 为一款轻量级、跨平台、功能强大的性能测试工具,目前热度已然超过 LoadRunner

1.3、常用性能测试工具

目前市场上性能测试工具多达几十种,笔者选取了几种比较实在的测试工具,供大家参考

性能测试工具 使用协议 支持协议 支持场景化 主要用途 说明
Jmeter 开源 多协议 http 测试,其它测试 JMeter 是 Apache 开源基金会提供的完全开源的性能测试工具,旨在加载测试功能行为和衡量性能。它最初是为测试 Web 应用程序而设计的,但此后已扩展到其他测试功能
LoadRunner 商业 多协议 http 测试,其它测试 LoadRunner 是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试
Kylinpetl/kylinTOP 国产商业 多协议 http 测试,其它测试 奇林性能测试软件(简称:kylinPET,performance emulation tool)是一款功能强大的性能测试工具;界面友好、操作方便,资源占用率低;与 LoadRunner 非常类似
ApacheBench 开源 http 简易性 http ApacheBench 是一个轻量级工具。主要用于 HTTP 协议的性能测试。非常简单快捷,不支持场景化测试
Webbench 开源 http 简易性 http Webbench 是知名的网站压力测试工具,非常简单快捷,不支持场景化测试
Sysbench 开源 多协议 # 数据库基准测试 sysbench 是一款开源的多线程性能测试工具,可以执行 CPU/内存/线程/IO/数据库等方面的性能测试
Locust 开源 http http 测试 Locust 是易于使用的分布式用户负载测试工具。它旨在对网站进行负载测试,并确定系统可以处理多少个并发用户。非常易用。很方便地基于 Python 进行脚本扩展和业务请求实现

1.4、性能测试工具如何选型

  • ab(ApacheBench)、Webbench 使用场景:简单接口测试,无场景化,无参数化处理,命令行工具
  • Jmter 使用场景:免费+复杂场景化
  • LoadRunner 使用场景:商业+复杂场景化
  • Kylinpet/kylinTOP 使用场景:与 LoadRunner 类似,部分功能更为强大
  • Locust 使用场景:对 Python 熟悉度高,无 UI 设计界面,使用轻量级协程,高并发

工具只是一种形式,无论是性能测试还是功能自动化测试,在学至后面,本质是一种测试编程,工具只是简化了一些功能,但并不能完全替代;Jmeter、LoadRunner 任意掌握一种,就算以后有需要学习其它的,也会变得简单很多

1.5、学习 Jmeter 对 Java 编程的要求

  • Jmeter 中的脚本编程本质上是 Java 的编程,要求对 Java 有一定的掌握

  • 编写 Jmeter 脚本,熟悉 Java 的基本编程即可,如变量定义、数据类型、条件、循环、Map 及 List 的结构……

  • Jmter 的二次开发,对 Java 要求上关注较高,要求熟悉使用 Java 和第三方协议的使用,如 Kafaka,Redis 等

二、Jmeter 软件安装

2.1、官网介绍

官网地址: https://jmeter.apache.org/

下载地址: https://jmeter.apachc.org/download_jmeter.cgi

【P1】Jmeter 准备工作

2.2、JDK 安装及环境配置

  • JDK 版本要求为 1.8

  • Linux 系统下面环境变量设置

export JAVA_HOME=/home/xiangsl/softwares/jdk1.8.0_161
PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  • windows下面环境变量设置
JAVA_HOME=D:\Program Files\Java\jdk1.8.0_261;
PATH=%JAVA_HOME%\bin;.......
CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;

2.3、Jmeter 三种模式

Jmeter 模式 设计测试计划 性能压测 角色说明 说明
GUI 模式 图形端与压力机在本机 设计测试计划,同时可以作轻量级性能测试
客户端模式 命令行模式 命令行模式来进行性能压测,使用上快捷方便,跨平台
远程模式 图形端与压力机分开 远程模式下可以水平扩容,一般配合图形界面使用

2.4、主要配置介绍

2.4.1、setenv 配置

win 下面以 setenv.bat 存在,linux 下面以 setenv.sh 存在,默认不存在,需要手工创建主要是用于配置一些系统环境变量,如 JVM 启动参数,默认语言等

配置详情见官网(1.4 Running JMeter):https://jmeter.apache.org/uscrmanual/get-started.htmI#frunning

2.4.2、jmeter.properties

几乎所有的配置都可以通过该文件进行修改,比较常用的有:19.7 Remote hosts and RMl configuration

配置详情见官网:https://jmeter.apache.org/usermanual/properties_reference.html

2.4.3、user.properties

用户自定义参数,一般用于测试计划;在这里,我们可以定义任何自己需要的参数

2.4.4、常用命令介绍

windows 命令,一般用于图形界面,主要命令如下:

启动命令 作用
jmeter.bat 图形模式下启动界面(有 cmd 命令框),如果有控制台消息的时候建议使用
jmeterw.cmd 图形模式下启动界面(没有 cmd 命令框)
jmeter-server.bat 以服务端模式启动
mirror-server.cmd 启动一个镜像服务器

linux 命令,一般用于服务端,主要命令如下:

启动命令 作用
jmeter 图形模式下启动界面(有终端命令框),如果有控制台消息的时候建议使用
jmeter.sh 图形模式下启动界面(没有终端命令框)
jmeter-server 以服务端模式启动
mirror-server.sh 启动一个镜像服务器

2.5、Jmeter 图形端安装

2.5.1、前置条件

操作系统: 不限,一般是win系统居多

JDK: 1.8+

下载后解压至某一文件夹

【P1】Jmeter 准备工作

2.5.2、参数修改

(1)、在 bin 目录下面增加 setenv.bat 文件

rem This is the content of bin\setenv.bat,rem it will be called by bin\jmeter.bat
set JVM_ARGS=-Xms2g -Xmx2g -Dpropname=longge

这里根据自行调整内存大小,默认为1024m,做大型测试时起步4G
其它参考选项,详见官网(1.4 Running JMeter)
https://jmeter.apache.org/usermanual/get-started.html#running

(2)、修改 jmeter.properties 配置文件

server.rmi.ssl.disable=true
sampleresult.default.encoding=UTF-8  // 未设置的话,采样器结果有可能乱码

2.5.3、启动/检测

(1)、运行 jmeter.bat 或者 jmeterw.cmd 启动

(2)、启动后,打开 cmd,采用如下命令,检测进程详细,如下表示进程存在且参数配置生效

wmic process where caption="java.exe" get processid,caption,commandline /value
wmic process where caption="javaw.exe" get processid,caption,commandline /value

【P1】Jmeter 准备工作

2.6、Jmeter 服务端安装

2.6.1、前置条件

操作系统: 不限,一般为 Linux 系统居多

JDK: 1.8+

下载后解压至某一文件夹

2.6.2、参数修改

(1)、在 bin 目录下面增加 setenv.sh 文件

#This is the content of bin\setenv.sh,
#it will be called by bin\jmeter.sh
export JVM_ARGS="-Xms2g -Xmx2g -Dpropname=longge"

这里根据自行调整内存大小,默认为 1024m,做大型测试时起步 4G
其它参考选项,详见官网(1.4 Running JMeter)
https://jmeter.apache.org/usermanual/get-started.html#running

(2)、修改 jmeter.properties 配置文件

server.rmi.ssl.disable=true
sampleresult.default.encoding=UTF-8

(3)、修改 jmeter-server 文件

RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.128.166

这里根据主机地址修改

2.6.3、启动&检测

(1)、运行 sh jmeter-server 启动

(2)、启动后,采用如下命令,检测进程详细,如下表示进程存在且参数配置生效

ps -ef|grep longge

缺图

2.6.4、图形端修改

修改 jmeter.properties 文件,多个主机用逗号隔开

remote_hosts=192.168.128.166:1099,192.168.128.167:1099,192.168.128.168:1099

图形端启动后,在 Run/Remote Start 里面能够看到相关主机表示安装成功

2.7、安装小结

(1)、大部分配置采用纯手工修改,一定要细小,注意空格,中英文,端口的影响

(2)、理解 Jmeter 的三种模式的应用场景,对我们后续有比较好的指导意义

三、Jmeter 常规配置

3.1、设置中文

3.1.1、临时设置中文

依次点击 Options <<< Choose Languse <<< Chinese(Simplified)

【P1】Jmeter 准备工作

3.1.2、永久设置中文

  • 进入 jmeter 安装路径的 bin 目录下,找到 jmeter.properties 文件

【P1】Jmeter 准备工作

  • 打开 jmeter.properties 文件,找到 #language=en,修改成language=zh_CN,并将前面的 “#” 号去掉,最后保存文件

【P1】Jmeter 准备工作

  • 最后重新打开 jmeter ,就变成中文了

3.2、设置外观(白色)

依次点击 选项 <<< 外观 <<< Windows

【P1】Jmeter 准备工作

3.3、中文乱码

(1)、进入 Jmeter 的bin目录下,找到 jmeter.properties 文件

(2)、找到 #sampleresult.default.encoding=UTF-8,将前面的 # 号去掉,并保存

(3)、重启 Jmeter

【P1】Jmeter 准备工作文章来源地址https://www.toymoban.com/news/detail-456076.html

  • 一次修改,终身有效

到了这里,关于【P1】Jmeter 准备工作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【从零开始拿捏数据结构】 顺序表是什么?它有什么样的特性?结构到底是什么样的?

    🎥 屿小夏 : 个人主页 🔥个人专栏 : 数据结构解析 🌄 莫道桑榆晚,为霞尚满天! ​ 什么是数据结构?我们为什么要学数据结构?数据结构中的顺序表长什么样子?它是怎么运用? ​ 本期我们将对这些一一讲解,彻底明白数据结构的重要性,以及顺序表是一种什么的数据

    2024年02月08日
    浏览(106)
  • IPD是什么?适合什么样的团队?

    IPD,全称为“Integrated Project Delivery”,即集成产品开发。它是一种全新的项目管理方法,最初源于建筑行业,随着时间的推移,已经应用到了各行各业的项目管理中。IPD是一种以协同合作为核心的工作模式,在这种模式下,项目中的所有相关方在项目的整个生命周期中进行更

    2024年02月13日
    浏览(51)
  • 云计算学习需要什么样的电脑

    一、认识电脑 1. 电脑是如何组成的 2. 云计算学习需要配置什么样的电脑 3. 学习云计算为什么对CPU、硬盘、内存性能要求高 二、电脑升级加装 1. 如何提高旧电脑性能 2. 拆装步骤 电脑的组成 硬件系统:电源、主板、CPU、内存、硬盘、声卡和网卡等 软件系统:系统软件、操作

    2024年02月10日
    浏览(49)
  • 抖客是种什么样的盈利方式

    抖客是什么?怎么推广?如何设置?抖客联盟app有什么用,类似抖客联盟的app有哪些,抖客是种什么样的盈利方式 抖音直播间引流、增长,抖客来帮忙!助力MCN机构培养达人,提升达人等级,这时候也需要一大批抖客,大家是否知道抖客是什么呢?应该要怎么进行推广呢? “抖客”

    2023年04月08日
    浏览(48)
  • C++ 编程需要什么样的开发环境?

    在开始前我有一些资料,是我根据网友给的问题精心整理了一份「C++的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!C++的开发环境需要: ·nbsp;操作系统 ·nbsp;编译器 链接器 ·nbsp;调试器 我大学里用的电脑是

    2024年01月16日
    浏览(41)
  • 法线贴图可以实现什么样的3D效果

    在线工具推荐: 3D数字孪生场景编辑器  -  GLTF/GLB材质纹理编辑器  -  3D模型在线转换  -  Three.js AI自动纹理开发包  -  YOLO 虚幻合成数据生成器  -  三维模型预览图生成器  -  3D模型语义搜索引擎 在 3D 建模中,曲面由多边形表示。照明计算是基于这些多边形的几何形状执

    2024年02月03日
    浏览(57)
  • 百万赞同:网络安全为什么缺人? 缺什么样的人?

    1.网络安全为什么缺人? 缺人的原因是有了新的需求 以前的时候,所有企业是以产品为核心的,管你有啥漏洞,管你用户信息泄露不泄露,我只要做出来的产品火爆就行。 这一切随着《网络安全法》、《数据安全法》、《网络安全审查办法》等一系列有关网络安全的法律法规

    2023年04月23日
    浏览(72)
  • 工具在接口测试中发挥什么样的作用?

    接口测试究竟是什么?为什么要用接口测试?它有哪些工具呢?这一连串的问题敲击着我们,请带着这些问题,在本文中寻找答案,我将为您打开接口测试的大门。 1 初探接口测试 接口测试是什么。它检查数据的交换,传递和控制管理过程,它绕过了移动端,对服务端进行测

    2023年04月08日
    浏览(44)
  • 元宇宙时代的HTTP应该是什么样?

    运行整个Web世界的HTTP协议即将进行一次更新!互联网工程任务组(IETF)最近发布了业内诸多机构多年合作的产物:HTTP/3。HTTP/3使用QUIC这种全新传输协议可以在最具挑战性的网络上带来更好的性能。同时,这些更新也让我们在HTTP的文档方面有更多问题需要注意。 QUIC的RFC于去

    2024年02月19日
    浏览(38)
  • 什么样的人适合学习网络安全?

    有很多想要转行网络安全或者选择网络安全专业的人在进行决定之前一定会有的问题:什么样的人适合学习网络安全?我适不适合学习网络安全? 会产生这样的疑惑并不奇怪,毕竟网络安全这个专业在2017年才调整为国家一级学科,而且大众对于网络安全的认知度不高,了解

    2024年02月06日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包