jmeter压测工具环境搭建(Linux、Mac)

目录

java环境安装

1、anaconda安装java环境(推荐)

2、直接在本地环境安装java环境

yum方式安装jdk

二进制方式安装jdk

jmeter环境安装

1、jmeter单机安装

启动jmeter

配置环境变量

jmeter配置中文

2、jmeter集群搭建

多台机器部署jmeter集群

单台机器部署jmeter集群

jmeter运行命令

1、常用命令解析

2、更多命令参数


java环境安装

java官网:https://www.java.com/zh-CN/

anaconda官网:Anaconda | The Operating System for AI

jmeter官网:Apache JMeter - Apache JMeter™

1、anaconda安装java环境(推荐)

使用conda安装python环境,有诸多优势
1、不同环境底层SSL库相互隔离,python环境也相互隔离
2、可以快速在一个环境内,切换不同python版本
3、创建/删除环境速度快

tips:如果需要在公司使用anaconda,需要使用公司商业版授权码激活

1、Linux安装anaconda(在线安装)

从官网下载安装包

更多版本可以参考官网文档:Anaconda官网

我这里下载是最新版2023.08

wget https://repo.anaconda.com/archive/Anaconda3-2023.07-2-Linux-x86_64.sh

默认安装路径/root/anaconda3,如果需要指定路径加,-p 安装路径

正常安装一直回车确认,然后一路回车就行

bash Anaconda3-2023.07-2-Linux-x86_64.sh

然后重新登陆shell

查看版本号,正确返回版本号,说明conda安装成功

conda -V

2、从conda安装java环境

推荐安装java 8以上版本,我使用的jmeter是5.4版本,低于java 8无法正常运行

使用conda安装的环境,每个环境对应的java版本都是独立的

# 使用conda创建一个名称为jmeter的环境,并且下载java 11版本
conda create -n jmeter openjdk=11
# 查看创建环境是否成功
conda env list
# 查看java版本号
conda run -n jmeter java -version

2、直接在本地环境安装java环境

yum方式安装jdk

在CentOS上安装JDK(Java Development Kit),你可以按照以下步骤进行操作。以下示例将基于OpenJDK进行安装,这是一个常见的开源JDK:

1,更新软件包索引: 打开终端,以root或拥有sudo权限的用户身份执行以下命令来更新软件包索引:

sudo yum update -y

2,安装OpenJDK: 使用以下命令来安装OpenJDK 11(你也可以选择其他版本,如OpenJDK 8或OpenJDK 16):

sudo yum install java-11-openjdk-devel -y

3,验证安装: 安装完成后,可以通过运行以下命令来验证Java的版本:

java -version

如果一切顺利,你应该能够看到安装的Java版本信息。

请注意,如果你有特定需求或对JDK的厂商有要求,你也可以选择安装Oracle JDK或其他JDK版本。安装过程可能会因Linux发行版的不同而有所变化,但基本步骤是相似的。在安装时,请确保你使用了适合你CentOS版本的命令。

二进制方式安装jdk

首先下载java二进制包

oracle jdk下载地址:Java Downloads | Oracle

open jdk下载地址:Archived OpenJDK GA Releases

下载解压

# 下载oracle jdk 22版本压缩包
wget https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.tar.gz
# 解压文件
tar -zxvf jdk-22_linux-x64_bin.tar.gz
# 测试java文件是否可以正常使用,返回版本号说明可以正常使用
jdk-22.0.1/bin/java -version

添加环境变量

# 编写环境变量文件
vim /etc/profile
# 在文件末尾添加这行
# set path for JAVA_HOME
export JAVA_HOME=your_java_path/jdk-22.0.1
export PATH=$PATH:$JAVA_HOME/bin

验证添加的环境变量是否生效

echo $JAVA_HOME

java -version

jmeter环境安装

1、jmeter单机安装

安装jmeter

1、首先需要安装jmeter对应的jdk,5.4版本需要对应jdk8以上

2,安装jmeter,去官网下载最新版的jmeter,我这里下载的是5.4版本的,地址,https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.4.2.tgz

直接用wget命令下载

wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.4.2.tgz

3,然后解压下载多安装包

tar -zxvf apache-jmeter-5.4.2/

启动jmeter

1,进入jmeter的bin目录,运行当前文件夹下的jmeter

运行命令,返回版本号,说明环境没有问题

apache-jmeter-5.4.2/bin/jmeter -v

配置环境变量

1,编辑/etc/profile文件

vim /etc/profile

2、在末尾加上jmeter的安装路径

export PATH=/root/data/apache-jmeter-5.4.2/bin:$PATH
3、刷新环境变量

source /etc/profile

4,验证环境变量

在任意地方输入,返回版本号说明环境变量生效

jmeter -v

jmeter配置中文

1、在jmeter面板上选择

Options --> Choose Language --> Chinese

2、打开jmeter/bin/jmeter.properties,修改字段

language=zh_CN

2、jmeter集群搭建

多台机器部署jmeter集群

1,首先在master跟slave都安装版本一致的jdk跟jmeter

2,master修改文件JMeter.properties文件,修改如下字段

remote_hosts=slave—ip:端口号(默认1099)

3,slave修改文件JMeter.properties文件,修改如下字段

server.rmi.ssl.disable=true

4,在slave上启动jmeter-server,使用命令

nohup .meter-server & ps -ef | grep jmeter-server

5,slave启动成功后,在主节点使用telnet 命令查看端口1888是否开放

telnet slaveip:1888

6,检测端口是否通,不通的话要去防火墙或者云服务器开一下端口

7,主节点使用命令进行压测

jmeter -n -t jmx脚本名称 -R slaveip:1888

单台机器部署jmeter集群

1,jmeter修改文件JMeter.properties

remote_hosts=localhost:1099

2,启动从节点

nohup ./jmeter-server & ps -ef | grep jmeter-server

3,启动时提示时回环地址的,需要在jmeter-server修改Djava.rmi.server.hostname成你的ip地址

#RMI_HOST_DEF=-Djava.rmi.server.hostname=xxx.xxx.xxx.xxx

4,启动压测任务

jmeter -n -t ./perf.jmx -R localhost:1099

5,能够正常请求成功,正常结束就是没有问题的

jmeter运行命令

1、常用命令解析

nohup jmeter -n -t test.jmx -Jthreads=100 -Jramp=10 -Jloop=3000 &

命令参数参数解析备注
-n以非图形用户界面模式(non-GUI mode)运行 JMeter
-t指定要运行的 JMeter 测试计划文件(.jmx格式)
-o输出测试报告到指定路径,路径必须为一个不存在的文件夹测试结果可以导出到本地网页中查看
-l

输出测试结果到指定文件,路径必须为一个不存在的文件(.jtl格式)

jtl文件可以导出到聚合报告中查看

-Jthreads

传递一个用户定义的属性,这里对应jmeter中的线程组通过命令行带上 -J 参数来传递用户属性

-Jramp

传递一个用户定义的属性,这里对应jmeter中启动时间通过命令行带上 -J 参数来传递用户属性

-Jloop

传递一个用户定义的属性,这里对应jmeter中的持续时间通过命令行带上 -J 参数来传递用户属性

${__P(threads,1)}

定义一个用户定义的属性,这里对应jmeter中的线程组这里定义的默认值是1

${__P(ramp,1)}

传递一个用户定义的属性,这里对应jmeter中启动时间这里定义的默认值是1

${__P(loop,1)}

传递一个用户定义的属性,这里对应jmeter中的持续时间这里定义的默认值是1

jmx脚本中定义用户属性如下

2、更多命令参数

    -v, --version打印版本信息并退出-p, --propfile <参数>要使用的 jmeter 属性文件-q, --addprop <参数>附加的 JMeter 属性文件-t, --testfile <参数>要运行的 jmeter 测试(.jmx)文件-l, --logfile <参数>要记录样本的文件-i, --jmeterlogconf <参数> jmeter 日志配置文件(log4j2.xml)-j, --jmeterlogfile <参数> jmeter 运行日志文件(jmeter.log)-n, --nongui以非 gui 模式运行 JMeter -s, --server运行 JMeter 服务器-H, --proxyHost <参数>为 JMeter 设置要使用的代理服务器-P, --proxyPort <参数>为 JMeter 设置要使用的代理服务器端口-N, --nonProxyHosts <参数>设置非代理主机列表(例如*.apache.org|localhost) -u, --username <参数>设置 JMeter 要使用的代理服务器的用户名-a, --password <参数>设置 JMeter 要使用的代理服务器的密码-J, --jmeterproperty <参数>=<值>定义其他 JMeter 属性-G, --globalproperty <参数>=<值>定义全局属性(发送到服务器),例如 -Gport=123或 -Gglobal.properties -D, --systemproperty <参数>=<值>定义其他系统属性-S, --systemPropertyFile <参数>其他系统属性文件-f, --forceDeleteResultFile在开始测试前强制删除现有结果文件和 Web 报告文件夹(如果存在) -L, --loglevel <参数>=<值> [category=]level 例如 jorphan=INFO、jmeter.util=DEBUG 或 com.example.foo=WARN -r, --runremote Start远程服务器(如 remote_hosts 中所定义)-R, --remotestart <参数>启动这些远程服务器(覆盖 remote_hosts)-d, --homedir <参数>要使用的 jmeter 主目录-X, --remoteexit在测试结束时退出远程服务器(CLI 模式)-g,--reportonly <参数>仅从测试结果文件生成报告仪表板-e, --reportatendofloadtests在负载测试后生成报告仪表板-o, --reportoutputfolder <参数>报告仪表板的输出文件夹

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

草料二维码:低成本高效率的访客管理解决方案

在当前的商业和政治环境中&#xff0c;企业和政府机构越来越重视安全保密措施&#xff0c;尤其是对外来人员的行踪记录和管理。访客管理已成为企业运营中不可或缺的一环&#xff0c;它不仅提升了安全性&#xff0c;还增强了效率和便捷性。然而&#xff0c;许多机构仍在使用传统…

AOSP刷机

手机电脑都换了 从新复习一下吧 刷机分为几类 线刷 介质&#xff1a;通过USB数据线连接手机与电脑。 方法&#xff1a;通常使用专门的刷机工具&#xff08;如ADB、Fastboot、Odin等&#xff09;将ROM文件直接刷入设备。 优点&#xff1a;一般可以进行更全面的刷机操作&#x…

unocss 添加支持使用本地 svg 预设图标,并支持更改大小

安装 pnpm install iconify/utils 在配置文件 unocss.config.ts&#xff1a; presets > presetIcons 选项中 通过 FileSystemIconLoader 加载本地图标&#xff0c;并指定目录。 import presetWeapp from unocss-preset-weapp import { extractorAttributify, transformer…

一篇文章理解CSS垂直布局方法

方法1&#xff1a;align-content: center 在 2024 年的 CSS 原生属性中允许使用 1 个 CSS 属性 align-content: center进行垂直居中。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewpo…

基于STM32+华为云IOT设计的大棚育苗管理系统

文章目录 一、前言1.1 项目介绍【1】项目开发背景【2】设计实现的功能【3】项目硬件模块组成 1.2 设计思路1.3 系统功能总结1.4 开发工具的选择【1】设备端开发【2】上位机开发 1.5 模块的技术详情介绍【1】NBIOT-BC26模块【2】MQ135传感器【4】SHT30传感器【5】B1750传感器 二…

小家电常用防水触摸IC

小家电常用防水触摸IC 挑战100个ICMAN“芯”实验-小家电常用防水触摸IC 电容式触摸芯片通常用于实现触摸控制&#xff0c;可轻松解决家用电器常见的触摸感应不灵敏和有水误触发的问题&#xff0c;优化了用户的交互使用体验&#xff0c;从而有效实现控制面板触摸按键的触摸感应和…

C++和OpenGL实现3D游戏编程【连载17】——着色器进阶

欢迎来到zhooyu的专栏。 主页网址&#xff1a;【zhooyu】 专栏网址&#xff1a;【C和OpenGL实现3D游戏编程】 &#x1f31f;&#x1f31f;&#x1f31f;这里将通过一个OpenGL实现3D游戏编程实例教程&#xff0c;带大家深入学习OpenGL知识。知识无穷而人力有穷&#xff0c;希望…

2342423

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话&#xff1a; 知不足而奋进&#xff0c;望远山而前行&am…

《Python游戏编程入门》注-第4章8

2.2 “黄色炸弹”的实现 “黄色炸弹”实际上是不断重复地从屏幕顶端落下的黄色圆圈。 2.2.1 设置炸弹位置及下落速度 从图1中可以看出,“黄色炸弹”落下的位置(水平方向)是随机的,图8所示代码用来设置炸弹位置及下落速度。 图8 设置炸弹位置及下落速度的代码 其中,bom…

如何打开/关闭 GitLab 的版本检查功能?

本文分享如何打开/关闭 GitLab 的版本检查功能。 极狐GitLab 是 GitLab 的中国发行版【https://dl.gitlab.cn/ncecn6kb】&#xff0c;中文版本对中国用户更友好&#xff0c;文章以私有化部署的极狐GitLab 实例来演示版本检查功能的开启和关闭。强烈不建议关闭该功能&#xff0…

Linux——Ubuntu环境C编程

配置vim编辑器 设置一个tab键为4个空格 打开/etc/vim/vimrc文件&#xff0c;此文件为只读&#xff0c;所以要用sudo访问boot权限&#xff1a; set ts4&#xff08;设置一个tab键为4空格&#xff09; set nu&#xff08;vim编辑器下显示行号&#xff09; gcc编译器 gcc命令…

java访问华为网管软件iMaster NCE的北向接口

最近做的一个项目&#xff0c;需要读取华为一个叫iMaster NCE的网管软件的北向接口。这个iMaster NCE&#xff08;以下简称NCE&#xff09;用于管理项目的整个网络&#xff0c;尤其是光网络。业主要求我们访问该软件提供的对外接口&#xff0c;读取一些网络信息&#xff0c;比如…

ABeam 德硕 | 共探AI时代人才新生态,ABeam旗下德硕管理咨询(上海)有限公司荣膺2024杰出雇主!

ABeam News 近日&#xff0c;由HRoot主办的“2024中国人力资本发展大会”在上海市徐汇西岸艺术中心A馆盛大开幕并成功举办。大会以“智能协同 人才与AI的共生”为主题&#xff0c;作为咨询公司的ABeam中国&#xff0c;以优秀的人才管理理念及成果&#xff0c;受邀参会并荣获20…

App Store 截图生成器:轻松制作专业级应用营销图片

在线使用 &#x1f449; 立即使用截图生成器 简介 App Store 截图生成器是一个专门为 iOS 开发者和营销人员设计的在线工具&#xff0c;可以快速生成符合 App Store 规范的应用预览图片。无论是 iPhone 还是 iPad 应用&#xff0c;都能轻松创建出精美的营销截图。 主要特点…

数据结构之顺序表(C语言)

1 线性表 线性表是n个具有相同特性的数据元素的有限序列&#xff0c;是一种在实际中广泛应用的数据结构&#xff0c;常见的线性表有&#xff1a;顺序表、链表、栈、队列、字符串等。 线性表在逻辑上是线性结构&#xff0c;也就说是连续的一条直线。但是在物理结构上并不一定是…

#【YashanDB认证】#YCA的学习过程总结-之崖山数据库初体验

概述 前段时间崖山数据库做推广活动&#xff0c;参加了yca的考试&#xff0c;为啥参加这个数据库厂商的学习呢&#xff0c;因为目前这个数据库最像Oracle&#xff0c;又听公司的前辈说呢&#xff0c;这个公司的前身是华为人出来做的数据库&#xff0c;华为人的精神呢&#xff0…

一些硬件知识【2024/11/3】

MLCC电容的ESR比较小&#xff0c;但是他的缺点是容量通常比较低&#xff1b;电解电容的容量比较大&#xff0c;但是他的ESR比较大&#xff1b;而钽电容介于两者之间&#xff0c;是MLCC找不到合适的容值比较大的时候&#xff0c;找钽电容&#xff1a; LC谐振电路&#xff1a; 五…

2024版红娘金媒10.3婚恋相亲系统源码小程序(亲测)

1. 红娘服务 红娘服务模块是该系统的一大特色。专业红娘会通过分析用户的个人资料和偏好&#xff0c; 为用户提供精准的配对建议和个性化服务。用户可以预约红娘服务&#xff0c;通过红娘的介入&#xff0c;提升配对成功率。 2. 相亲活动 相亲活动模块用于组织和管理线下或线…

自扶正救生艇,保障水上救援的安全卫士_鼎跃安全

在应急事件中&#xff0c;自扶正救生艇能够发挥关键的救援和保障作用&#xff0c;确保救援人员和被困人员的生命安全&#xff0c;尤其在极端天气或突发水上事故中展现出明显优势。 在救援过程中如果遭遇翻船&#xff0c;救生艇能够迅速恢复正常姿态&#xff0c;确保救援人员不会…

鸿蒙网络编程系列42-仓颉版域名解析示例

1. 域名解析简介 域名解析是网络开发中经常使用的功能之一&#xff0c;特别是对于当前版本的鸿蒙API&#xff0c;使用TCP或者UDP等网络协议通讯时&#xff0c;只能使用确定的IP地址进行绑定或者发送消息&#xff0c;还不支持直接使用域名&#xff0c;所以&#xff0c;通过域名…