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:
$CLASSPATHexport 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文件:

会将压测执行结果放入到/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.hqwc.cn/news/191540.html

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

相关文章

​软考-高级-系统架构设计师教程(清华第2版)【第19章 大数据架构设计理论与实践 (P691~716)-思维导图】​

软考-高级-系统架构设计师教程(清华第2版)【第19章 大数据架构设计理论与实践 (P691~716)-思维导图】 课本里章节里所有蓝色字体的思维导图

单元测试实战(四)MyBatis-Plus 的测试

为鼓励单元测试,特分门别类示例各种组件的测试代码并进行解说,供开发人员参考。 本文中的测试均基于JUnit5。 单元测试实战(一)Controller 的测试 单元测试实战(二)Service 的测试 单元测试实战&am…

Spring学习③__Bean管理

目录 IOC接口ApplicationContext 详解IOC操作Bean管理基于xml方式基于xml方式创建对象基于xml方式注入属性使用set方法进行注入通过有参数的构造进行注入p 名称空间注入(了解) 基于xml方式注入其他类型属性xml 注入数组类型属性 IOC接口 IOC思想基于IOC…

机器人制作开源方案 | 智能快递付件机器人

一、作品简介 作者:贺沅、聂开发、王兴文、石宇航、盛余庆 单位:黑龙江科技大学 指导老师:邵文冕、苑鹏涛 1. 项目背景 受新冠疫情的影响,大学校园内都采取封闭式管理来降低传染的风险,导致学生不能外出&#xff0c…

原来机械硬盘比内存慢10万倍

我们都知道机械硬盘的速度很慢,内存的速度很快,那么不同存储器之间的差距到底有多大呢? 我们先来看一幅图: CPU访问寄存器的时间是0.3纳秒,访问L1高速缓存的时间是1纳秒,访问L2高速缓存的时间是4纳秒… 秒…

二维码智慧门牌管理系统升级解决方案:门牌聚合,让管理更便捷!

文章目录 前言一、传统门牌管理系统的瓶颈二、地图门牌聚合展示的优势三、地图门牌聚合展示的实现方法四、智慧门牌管理系统的未来发展 前言 随着城市的发展和建设,对于地址信息的管理变得越来越重要。而智慧门牌管理系统作为管理地址信息的重要工具,其…

Selenium自动化测试框架

一.Selenium概述 1.1 什么是框架? 框架(framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的 结构用于去解决或者处理复杂的问题。 框架是整个或部分系统的可重用设计,表现为一组抽象构件及…

盘点60个Python各行各业管理系统源码Python爱好者不容错过

盘点60个Python各行各业管理系统源码Python爱好者不容错过 学习知识费力气,收集整理更不易。 知识付费甚欢喜,为咱码农谋福利。 源码下载链接:https://pan.baidu.com/s/1VdAFp4P0mtWmsA158oC-aA?pwd8888 提取码:8888 项目名…

java:IDEA中的Scratches and Consoles

背景 IntelliJ IDEA中的Scratches and Consoles是一种临时的文件编辑环境,用于写一些文本内容或者代码片段。 其中,Scratch files拥有完整的运行和debug功能,这些文件需要指定编程语言类型并且指定后缀。 举例:调接口 可以看到…

GCD:异步同步?串行并发?一文轻松拿捏!

GCD 文章目录 GCD进程线程进程与线程的关系进程与线程的区别 任务(执行的代码)队列线程与队列的关系 队列任务**同步执行任务(sync)**辅助方法**异步执行任务(async)**总结栅栏任务迭代任务 队列详细属性QoSAttributes…

ARDUINO UNO 12颗LED超酷流水灯效果

效果代码&#xff1a; #define t 30 #define t1 20 #define t2 100 #define t3 50 void setup() { // set up pins 2 to 13 as outputs for (int i 2; i < 13; i) { pinMode(i, OUTPUT); } } /Effect 1 void loop() { effect_1(); effect_1(); effect_…

【Linux】第十七站:进程创建与进程终止

文章目录 一、进程创建1.fork函数2.写时拷贝3.批量化创建多个进程 二、进程终止1.进程退出场景2.进程退出的方法&#xff08;1&#xff09;exit和return&#xff08;2&#xff09;_exit和exit 一、进程创建 1.fork函数 在linux中fork函数时非常重要的函数&#xff0c;它从已存…