Linux下运行Jmeter压测

一、在Linux服务器先安装SDK

1、先从官网下载jdk1.8.0_131.tar.gz,再从本地上传到Linux服务器

2、解压:tar -xzf jdk1.8.0_131.tar.gz,生成文件夹 jdk1.8.0_131

3、在/usr/目录下创建java文件夹,再将 jdk1.8.0_131目录移动到/usr/java中

1)cd /usr/

2)mkdir java

3)mv jdk1.8.0_131 /usr/java

在这里插入图片描述

​3、配置java环境变量

1)vi /etc/profile

2)在最后面增加两行

 export JAVA_HOME=/usr/local/java/jdk1.8.0_131export PATH=$JAVA_HOME/bin:$PATH

重启虚拟机后配置才会生效

3)执行命令:source /etc/profile,无需重启,配置的环境变量立马生效

 或者执行以下命令(必须是root角色,普通角色没有权限)# export JAVA_HOME=/usr/local/java/jdk1.8.0_144# export PATH=$JAVA_HOME/bin:$PATH

4、查看是否安装成功,执行命令:java-version

在这里插入图片描述

二、安装Jmeter

1、将本地的Jmeter文件打包成zip文件:apache-jmeter-3.1.zip,再上传到服务器

2、在服务器解压缩,生成apache-jmeter-3.1目录

1)安装unzip:apt-get install unzip

2)解压缩:unzip apache-jmeter-3.1.zip

3、创建文件夹mkdir apache-jmeter-3.1

3、将apache-jmeter-3.1目录放到 /usr/local/apache-jmeter-3.1下

在这里插入图片描述

4、配置Jmeter环境变量。vi /etc/profile,再添加如下变量

export JMETER_HOME=/usr/local/apache-jmeter-3.1/apache-jmeter-3.1export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:

$CLASSPATH

export PATH=J M E T E R H O M E / b i n : JMETER_HOME/bin:JMETER 
H

 OME/bin:PATH

在这里插入图片描述
5、source /etc/profile (让配置文件立马生效)

6、查看是否安装成功,执行命令:jmeter -v

在这里插入图片描述

三、接口压测

1、将本地生成的jmx文件上传到服务器指定目录,如:/usr/local/apache-jmeter-3.1/jmx

2、进入该目录下,输入命令:# jmeter -n -t Linux_uat_createOrder5bf60s.jmx -l result.jtl,查看结果

jmeter -n -t -l 示例: jmeter -n -t testplan.jmx -l test.jtl

参数说明:

-n:以NoGUI方式运行脚本

                 -t:后面接脚本名称-l:后面接日志名称,保存运行结果

在这里插入图片描述
3、查看result.jtl,查看运行结果:
在这里插入图片描述

也可以将result.jtl发送到windows下Jmeter查看:添加聚合报告,在聚合报告中打开该文件:

在这里插入图片描述

4、注意:客户端和服务器的Jmeter版本最好保持一致,不然运行脚本时会报错。

5、还有另一种脚本执行指令:

#jmeter -n -t Linux_uat_createOrder5bf60s.jmx -l result.jtl -e -o /usr/local/apache-jmeter-3.1/result

在/usr/local/apache-jmeter-3.1/目录下要有空的result文件夹,否则会提示错误。

指令执行完成后,将result文件夹整个download到本地。文件夹包含:

在这里插入图片描述

打开index.html,可以看到网页版的结果报告:

在这里插入图片描述

详情请查阅相关资料,暂不赘述。

四、进阶压测

多台压测机器分布式压测:

举例以41为主机,42、43为从机,对压测环境服务器进行压测。

1、三台Linux服务器都要安装相同版本Jmeter,尽量保证安装路径一致;

2、配置41的jmeter.properties,将两台从机(42、43)的IP、端口号配置上:

目录:/usr/local/apache-jmeter-3.1/apache-jmeter-3.1/bin

配置remote_hosts,去掉前面的注释符#:

在这里插入图片描述
​3、在三台Jmeter机器上放置同样的jmx脚本,脚本的聚合报告中,设置结果写入文件路径:

/usr/local/apache-jmeter-3.1/jmx/logs/createOrderResultKaTeX parse error: Expected group after '_' at position 2: {_̲_time(YMD)}{__time(HMS)}.jtl

会将压测执行结果放入到/usr/local/apache-jmeter-3.1/jmx/logs目录下,并自动生成带有日期时间戳的jtl文件:

在这里插入图片描述

4、在主机41发起压测指令前,需要将42、43两台从机启动:

目录:/usr/local/apache-jmeter-3.1/apache-jmeter-3.1/bin

指令:./jmeter-server

在这里插入图片描述
​此时说明从机服务已启动。

5、在主机41上执行脚本指令:# jmeter -n -t Linux_uat_createOrder8bf60s.jmx -r

参数说明:-r 远程执行 -> 在Jmter.properties文件中指定的所有远程服务器

在这里插入图片描述

显示主机41上显示已开始(41不直接压测,远程遥控42、43进行压测)

两台从机也显示收到压测指令,开始压测:

42机器:

在这里插入图片描述

43机器:

在这里插入图片描述
​主机41上显示:end of run,说明压测执行完毕:

在这里插入图片描述

执行脚本之后,去目录/usr/local/apache-jmeter-3.1/jmx/logs下找到生成的jtl文件,下载到本地机器Windows环境下可使用jmeter聚合报告查看结果,如图所示:

在这里插入图片描述

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!   

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

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

相关文章

基于 Containerd 搭建 Kubernetes 1.28.0 版本集群

主要操作步骤: 1、初始化 OS 2、对OS进行集群配置初始化 3、确定 部署机器与待安装机器 4、安装并配置 Containerd 5、安装 Kubernetes工具集 6、初始化全部的 master节点 7、安装 Kubernetes网络插件 8、将slave节点加入到集群中 *************************…

Fast-MVSNet CVPR-2020 学习笔记总结 译文 深度学习三维重建

文章目录 6 Fast-MVSNet CVPR-20206.0 主要特点6.1 网络介绍6.2 稀疏高分辨率深度图预测6.3 深度图扩展6.4 -Newton 精细化MVSNet系列最新顶刊 对比总结6 Fast-MVSNet CVPR-2020 深度学习三维重建 Fast-MVSNet-CVPR-2020(源码、原文、译文、批注) 下载 6.0 主要特点 Spare …

RCNA 锐捷培训

第一章 网络基础入门 1.1 OSI参考模型及TCP/IP协议栈 数据是如何传输的? 数据在计算机网络中传输通常依赖于TCP/IP协议模型。 什么是网络? 网络是一种连接多个计算机、设备或系统的通信基础设施,其目的是实现资源共享、信息传递、接收和共享…

定时任务框架-xxljob

1.定时任务 spring传统的定时任务Scheduled,但是这样存在这一些问题 : 做集群任务的重复执行问题 cron表达式定义在代码之中,修改不方便 定时任务失败了,无法重试也没有统计 如果任务量过大,不能有效的分片执行 …

【计算机视觉 | CNN】Image Model Blocks的常见算法介绍合集(一)

文章目录 一、Residual Block二、Bottleneck Residual Block三、Dense Block四、Squeeze-and-Excitation Block五、Inception Module六、Non-Local Block七、Spatial Attention Module八、Spatial Transformer九、ResNeXt Block十、Fire Module十一、Inception-v3 Module十二、…

Linux基本认识

一、Linux基本概念 Linux 内核最初只是由芬兰人林纳斯托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。 Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多…

【DevOps系列】Docker数据卷(volume)详解

【DevOps系列】Docker数据卷(volume)详解 文章目录 【DevOps系列】Docker数据卷(volume)详解一、概述二、数据卷三、为什么使用数据卷volume数据卷的作用:数据卷的特点: 四、数据卷volume基本操作4.1 创建数…

android注解之APT和javapoet

前言 前面我们已经讲过注解的基本知识,对于注解还不太了解的,可以去看一下之前的文章, android 注解详解_袁震的博客-CSDN博客。 之前我们在讲注解的时候,提到过APT和JavaPoet,那么什么是APT和JavaPoet呢&#xff1…

人工智能安全-6-SQL注入检测

0 提纲 概述SQL注入方法SQL注入的检测方法SQL语句的特征提取天池AI上的实践 1 概述 SQLIA:SQL injection attack SQL 注入攻击是一个简单且被广泛理解的技术,它把 SQL 查询片段插入到 GET 或 POST 参数里提交到网络应用。 由于SQL数据库在Web应用中的…

Qt(day1)

思维导图 Qt实现第一个web的基础页面 #include "mywnd.h" #include "ui_mywnd.h" #include<QLabel> #include<QLineEdit> #include<qpushbutton.h>MyWnd::MyWnd(QWidget *parent): QMainWindow(parent), ui(new Ui::MyWnd) {ui->set…

Redis的介绍、安装和配置

文章目录 一、redis官网二、redis是什么三、能干嘛总体功能一图概述优势小总结 三、Redis的下载与安装Redis的安装Redis迭代演化和Redis7新特性新特性部分说明Redis的安装 安装步骤总结Redis的卸载 一、redis官网 https://redis.io/ 中文官网&#xff1a;http://www.redis.cn/…

【【萌新编写risc-v之软件的学习使用】】

萌新编写risc-v软件的学习使用 对于vscode我其实没什么好说的 就是先配置好环境 其实vscde作为一个编译器的软件 其实并不需要指望能往里面加载多少功能 我们需要做的就是赋予编辑器更好用的功能和体验 有些人会在vscode里面甚至加入波形 仿真 我觉得不如交给 vivado来用 在vs…

【计算机网络】传输层协议——TCP(下)

文章目录 1. 三次握手三次握手的本质是建立链接&#xff0c;什么是链接&#xff1f;整体过程三次握手过程中报文丢失问题为什么2次握手不可以&#xff1f;为什么要三次握手&#xff1f; 2. 四次挥手整体过程为什么要等待2MSL 3. 流量控制4. 滑动窗口共识滑动窗口的一般情况理解…

【面试经典150 | 双指针】两数之和

文章目录 写在前面Tag题目来源题目解读解题思路方法一&#xff1a;暴力枚举方法二&#xff1a;哈希表方法三&#xff1a;二分法方法四&#xff1a;双指针 知识回顾写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢…

【推荐】赴日IT课程 做赴日IT我该学什么?

许多想要做赴日IT的朋友问我说&#xff0c;我都该准备什么&#xff0c;或者我该学些什么才能达到可以做赴日程序员的水平呢&#xff1f;今天我就来跟大家聊一下这个问题。要说做准备&#xff0c;你需要有全日制大专及以上的学历才能获得赴日的资格&#xff0c;如果没有我们就先…

Scrum敏捷开发端到端管理流程

Leangoo领歌是Scrum中文网&#xff08;scrum.cn&#xff09;旗下的一款永久免费的敏捷研发管理工具。 Leangoo领歌覆盖了敏捷研发全流程&#xff0c;它提供端到端敏捷研发管理解决方案&#xff0c;包括小型团队敏捷开发&#xff0c;规模化敏捷SAFe&#xff0c;Scrum of Scrums…

Vue3 Ajax(axios)异步

文章目录 Vue3 Ajax(axios)异步1. 基础1.1 安装Ajax1.2 使用方法1.3 浏览器支持情况 2. GET方法2.1 参数传递2.2 实例 3. POST方法4. 执行多个并发请求5. axios API5.1 传递配置创建请求5.2 请求方法的别名5.3 并发5.4 创建实例5.5 实例方法5.6 请求配置项5.7 响应结构5.8 配置…

PAL/NTSC/1080I和interlaced scan(隔行扫描)

目录 1.PAL/NTSC和1080I 2.PAL/NTSC/1080I的timing 2.1 NTSC的垂直同步 2.2 PAL的垂直同步​编辑 2.3 1080i50FPS的vic20的时序 3.interlaced video timing实现说明 1.PAL/NTSC和1080I NTSC 和PAL 是两种不同视讯标准, 两种都是CRT时代遗留下的产物, 也都使用Interlace技术…

3D WEB轻量化引擎HOOPS Commuicator技术概览(一):数据导入与加载

HOOPS Communicator是一款功能强大的SDK&#xff0c;适用于基于Web的高级工程应用程序&#xff0c;代表HOOPS Web平台的Web开发组件。使用HOOPS Communicator&#xff0c;您可以构建一个在 Web浏览器中提供3D模型的Web应用程序。 HOOPS Communicator可以本地加载多种模型格式。…

Postman应用——初步了解postman

Postman 是一个用于构建和使用 API 的 API 平台&#xff0c;Postman 简化了 API 生命周期的每个步骤并简化了协作&#xff0c;可以更快地创建更好的 API。 Postman 包含一个基于Node.js的强大的运行时&#xff0c;允许您向请求&#xff08;request&#xff09;和分组&#xff…