【P1】Jmeter 准备工作

news2024/11/25 22:37:27

文章目录

  • 一、Jmeter 介绍
    • 1.1、Jmeter 有什么样功能
    • 1.2、Jmeter 与 LoadRunner 比较
    • 1.3、常用性能测试工具
    • 1.4、性能测试工具如何选型
    • 1.5、学习 Jmeter 对 Java 编程的要求
  • 二、Jmeter 软件安装
    • 2.1、官网介绍
    • 2.2、JDK 安装及环境配置
    • 2.3、Jmeter 三种模式
    • 2.4、主要配置介绍
      • 2.4.1、setenv 配置
      • 2.4.2、jmeter.properties
      • 2.4.3、user.properties
      • 2.4.4、常用命令介绍
    • 2.5、Jmeter 图形端安装
      • 2.5.1、前置条件
      • 2.5.2、参数修改
      • 2.5.3、启动/检测
    • 2.6、Jmeter 服务端安装
      • 2.6.1、前置条件
      • 2.6.2、参数修改
      • 2.6.3、启动&检测
      • 2.6.4、图形端修改
    • 2.7、安装小结
  • 三、Jmeter 常规配置
    • 3.1、设置中文
      • 3.1.1、临时设置中文
      • 3.1.2、永久设置中文
    • 3.2、设置外观(白色)


一、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.xLoadrunner 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简易性 httpApacheBench 是一个轻量级工具。主要用于 HTTP 协议的性能测试。非常简单快捷,不支持场景化测试
Webbench开源http简易性 httpWebbench 是知名的网站压力测试工具,非常简单快捷,不支持场景化测试
Sysbench开源多协议#数据库基准测试sysbench 是一款开源的多线程性能测试工具,可以执行 CPU/内存/线程/IO/数据库等方面的性能测试
Locust开源httphttp 测试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

在这里插入图片描述

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+

下载后解压至某一文件夹

在这里插入图片描述

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

在这里插入图片描述

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)

在这里插入图片描述

3.1.2、永久设置中文

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

在这里插入图片描述

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

在这里插入图片描述

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

3.2、设置外观(白色)

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/475837.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构——二叉树层序遍历

数据结构——二叉树层序遍历 107. 二叉树的层序遍历 II199. 二叉树的右视图思路&#xff1a; 637. 二叉树的层平均值 107. 二叉树的层序遍历 II 107. 二叉树的层序遍历 II 给你二叉树的根节点 root &#xff0c;返回其节点值 自底向上的层序遍历 。 &#xff08;即按从叶子节…

心血管疾病预测--逻辑回归实现二分类

一、实现效果 实现心血管疾病的预测准确率70%以上 二、数据集介绍 数据共计70000条&#xff0c;其中心血管疾病患者人数为34979&#xff0c;未患病人数为35021。数据特征属性12个分别为如下所示:生理指标(性别、年龄、体重、身高等)、 医疗检测指标(血压、血糖、胆固醇水平等)…

【社区图书馆】PyTorch高级机器学习实战 读书感想

《PyTorch高级机器学习实战》十大特点 1. 深入全面的内容覆盖&#xff1a; 本书的内容深入而全面&#xff0c;涵盖了深度学习中的多个领域&#xff0c;包括自然语言处理、计算机视觉、强化学习等&#xff0c;并介绍了各种不同的神经网络结构和优化算法。 2. 理论和实践并重&am…

scratch拆礼物游戏 中国电子学会图形化编程 少儿编程 scratch编程等级考试三级真题和答案解析2023年3月

目录 scratch拆礼物游戏 一、题目要求 1、准备工作 2、功能实现 二、案例分析 <

java spring 实现 下载hls(m3u8+ts)实时流并进行合并mp4和压缩

参考连接 链接: java下载m3u8视频&#xff0c;解密并合并ts&#xff08;三&#xff09; 链接: Java 下载 HLS (m3u8) 视频 首先需要了解什么是HLS 链接: HTTP Live Streaming (HLS) - 概念 链接: M3U8是什么 简单理解就是, m3u8文件存放着可供客户端播放TS 片段 简单一点…

吴恩达 Chatgpt prompt 工程--1.Guidelines

Setup #安装 !pip install openai#设置key !export OPENAI_API_KEYsk-... # or #import openai #openai.api_key "sk-..."import openai import osfrom dotenv import load_dotenv, find_dotenv _ load_dotenv(find_dotenv())openai.api_key os.getenv(OPENAI_A…

Graph Theory(图论)

一、图的定义 图是通过一组边相互连接的顶点的集合。 In this graph, V { A , B , C , D , E } E { AB , AC , BD , CD , DE } 二、图的类型 2.1 Finite Graph A graph consisting of finite number of vertices and edges is called as a finite graph. Null Graph Tri…

github workflow使用docker部署springboot并推送到阿里云镜像仓库

文章目录 1. 建立你的actions2. 工作流脚本2.1 触发事件2.2 密文和执行参数2.3 deploy.sh执行脚本2.4 Dockerfile 3. 阿里云镜像仓库设置 最近想通过github的workflow部署springboot项目&#xff08;CI&#xff09;&#xff0c;网上看了很多文章&#xff0c;都是有这样那样的问…

Design_transformer

磁性元件设计 思路 滤波电感设计 磁芯不要饱和&#xff08;开气隙&#xff09; 考虑铜损大于铁损 谐振电感设计 磁芯不要饱和&#xff08;开气隙&#xff09; 考虑铁损大于铜损 变压器设计 磁芯不要饱和&#xff08;开气隙&#xff09; 励磁电流产生磁场 开气隙 增加了…

1.rabbitMQ介绍

0.思考 我们以前为什么要学习java直接的框架代码,而不是用springboot整合的框架,在学习完MQ后,我的答案是,可以直接写成更灵活的MQ代码(其他框架也是,SSM我们为什么要学,在于灵活度更高,以后可能会遇到SSM的代码我就可以看得懂),springboot整合虽然完成了大多数功能,但是我要其…

SpringBoot+MyBatis搭建迷你微信小程序

课程链接&#xff1a;https://www.imooc.com/learn/945 标签组件 view view类似于HTML中的div标签是最基础的UI组件 https://blog.csdn.net/wushibo750/article/details/113802928 https://developers.weixin.qq.com/miniprogram/dev/component/view.html block flex ht…

突破1300件!腾讯数据安全专利授权量最新成绩出炉

今天是世界知识产权日&#xff0c;跟大家汇报一下我们在数据安全专利工作上的进展。 截至2023年4月&#xff0c;腾讯共获得数据安全相关专利授权量超过1300件、申请公开量超过1800件&#xff0c;涵盖数据加解密、数据库访问、数据分级分类、数据备份、数据防泄漏、机密计算等多…

音视频八股文(9)-- flv的h264六层结构和aac六层结构

flv介绍 FLV(Flash Video)是Adobe公司推出的⼀种流媒体格式&#xff0c;由于其封装后的⾳视频⽂件体积⼩、封装简单等特点&#xff0c;⾮常适合于互联⽹上使⽤。⽬前主流的视频⽹站基本都⽀持FLV。采⽤FLV格式封装的⽂件后缀为.flv。 FLV封装格式是由⼀个⽂件头(file header)…

概述篇——01 计算机网络概述

一、什么是计算机网络 计算机网络主要由一些通用的、可编程的硬件互连而成&#xff0c;通过这些硬件&#xff0c;可以传送不同类型的数据&#xff0c;并且可以支持广泛和日益增长的应用&#xff1b; 计算机网络不只是软件概念&#xff0c;还包含硬件设备&#xff1b;计算机网…

【Mysql】基础篇:DML(data manipulation language)语句:增、删、改数据库数据总结

博主简介&#xff1a;努力学习的大一在校计算机专业学生&#xff0c;热爱学习和创作。目前在学习和分享&#xff1a;数据结构、Go&#xff0c;Java等相关知识。博主主页&#xff1a; 是瑶瑶子啦所属专栏: Mysql从入门到精通近期目标&#xff1a;写好专栏的每一篇文章 目录 一、…

微搭低代码实现下拉框动态填充值

有个粉丝问我&#xff0c;微搭的下拉框如何自动填充值 想问一下&#xff0c;下拉控件需要绑定数据源里面的列表&#xff0c;这个需要怎么做&#xff0c;自己研究了蛮久也没弄出来&#xff0c;需要参考您哪一篇教程&#xff1f; 一般你字段设置为枚举类型就可以&#xff0c;如果…

数据结构入门(二)——单链表(增,删,查,改)

1.单链表的概念 概念&#xff1a;链表是一种物理存储结构上非连续、非顺序的存储结构&#xff0c;但链表在逻辑上是连续的&#xff0c;顺序的&#xff0c;而数据元素的逻辑顺序是通过链表中的指针连接次序实现的。 1.2链表的结构 我们给int重新定义一下新类型叫做SLDataType…

开源Stylegan人脸生成预训练模型

最近在研究Stylegan对抗式图像生成网络&#xff0c;使用了网络的一些预训练模型生成相应的图像&#xff0c;感觉非常有趣。下面开源一些我找到了预训练模型和代码&#xff0c;供大家一起玩。 Stylegan2官方给出的是TensorFlow版本的&#xff0c;费了半天劲找出了pytorch版本 这…

【五一创作】【Midjourney】Midjourney 连续性人物创作 ① ( 通过垫图方式生成类似图像 )

文章目录 一、Midjourney 生成图像二、通过垫图方式生成类似图像 一、Midjourney 生成图像 Midjourney 可以生成高质量的图像 , 但是 生成过程有很大的随机性 , 输入同样的提示词指令 , 其输出结果也存在很大的不同 ; 如果要 生成稳定的人物角色 , 场景 , 描述连贯的内容 , 这…

RMAN-03009、ORA-19566数据文件坏块报错处理方法

在备份数据库的时候&#xff0c;出现RMAN-03009、ORA-19566报错&#xff1a; RMAN-03009: backup 命令 (c3 通道上, 在 04/29/2023 10:58:11 上) 失败 ORA-19566: 超出损坏块限制 0 (文件 E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMR2.DBF) 继续执行其他作业步骤, 将不重新运行…