JMeter压力测试之环境搭建、脚本调试及报错解决方法(Linux版)
一、环境部署
后续往服务器上传文件,本文中使用的是xftp,因其不是本文所要讲述的重点,这里不做详解。
第一步:安装所需要版本的JDK,本次使用的是JDK 1.8
- 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
- 历史版本下载地址:http://www.oracle.com/technetwork/java/javase/archive-139210.html

- 1、通过xftp把下载好的安装包上传到服务器,实际放置路径大家根据自己的需要选择

- 2.给安装包赋予运行权限,然后解压
赋予运行权限 chmod 755 jdk-xxxxx-linux-x64.tar.gz 然后 tar -zxvf jdk-xxxxx-linux-x64.tar.gz
| 名称 | 类型 |
|---|---|
| tar | 备份文件 |
| -zxvf | |
| -z | 通过gzip指令处理备份文件 |
| -x | 从备份文件中还原文件 |
| -v | 显示指令执行过程 |
| -f | 指定备份文件 |
| rm -rf jmeter/ | 删除 |
| mv 登录.jmx script/ | 移动文件 |
| cp -r tok1.csv csv/ | 复制文件 |
| find -name jar包名称 | 搜索 |
| chmod 777 jmeter | 赋予启动项权限 |
- 3.配置JDK环境变量
在命令行输入:vim /etc/profile 然后按 i 进入编辑模式,将以下内容粘贴到文本最后。
export JAVA_HOME=/usr/java/jdk1.8.0_144
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
注意:JAVA_HOME=/usr/java/jdk1.8.0_144要更改成你自己的安装目录
- 4.在命令行输入 source /etc/profile 使刚刚设置的配置文件生效,接着命令行输入 java -version 检查安装结果。
[test@node06 ~]$ java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
[test@node06 ~]$
第二步:安装所需要版本的Jmeter,本次使用的是Jmeter 3.1
- 1.下载Jmeter,地址:http://jmeter.apache.org/download_jmeter.cgi
- 2.通过xftp上传安装包到服务器对应目录,然后在命令行输入 tar zxvf apache-jmeter-3.1.tgz 进行解压。
- 3.进入bin目录下,在命令行输入 chmod 777 jmeter 赋予启动项权限。
- 4.在命令行输入 vim /etc/profile 配置环境变量,按 i 进入编辑模式,在文本最后粘贴以下内容:
export JMETER_HOME=/usr/local/jmeter/apache-jmeter-3.1
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH:$HOME/bin
- 5.在命令行输入 source /etc/profile 使配置生效,接着输入 jmeter -v 查看安装结果。

第三步:配置Jmeter监控插件
使用jmeter做性能测试,添加插件是必不可少的,大家可以参考我之前一篇专门介绍jmeter插件的博文。
地址:https://www.cnblogs.com/Sweettesting/p/12780747.html
二、调试脚本
- 1.在GUI模式下,新建测试计划,然后根据要压测的实际需要添加各种配置元件,本次压测配置如下:

在GUI模式添加完组件后,一定要将脚本跑通,之后再上传到服务器。
- 2.使用xftp把脚本及读取文件上传到服务器,在脚本目录命令行输入 vim stresstest.jmx ,根据实际压测需要调整脚本线程和压
测时间,脚本文件的名称要更换成实际文件名称。由于运行时 View Results Tree 资源消耗比较大,这里对脚本做下优化,把状态改为false。

三、运行脚本
- 1.运行Jmeter服务器资源性能监控插件,在监控插件目录命令行输入 ./startAgent.sh

- 2.执行命令 jmeter -n -t stresstest.jmx -l /tmp/testResultOther.jtl跟stresstest.jmx :为测试脚本存放路径,/tmp/testResultOther.jtl :为测试结果输出路径
jmeter -n -t 提现.jmx -l test.jtl -e -o /usr/local/src/apache-jmeter-5.4.1/JB/log
解释:
执行提现.jmx脚本,
| 命令参数 | 命令释义 |
|---|---|
| -n | 设置命令行模式 |
| -t | 指定jmx脚本路径。参数为:jmx脚本路径,若非当前目录需用全路径或相对路径 |
| -l | 指定结果文件路径(jtl或者csv)。参数为:结果文件路径,路径不存在时会自动创建 |
| -j | 指定执行日志路径。参数为:日志路径。路径不存在,不会自动创建,同时将日志输出至命令行控制台 |
| -r | 指定分布式(远程)执行。服务器列表由JMETER_HOME\bin\jmeter.properties中的remote_hosts指定 |
| -R | 指定远程(分布式)服务器列表。参数为:指定服务器列表,配置形势同remote_hosts |
| -g | 指定测试结果文件路径。仅用于生成测试报表。参数为:CSV结果文件 |
| -e | 设置测试完成后生成测试报表 |
| -o | 指定测试报表生成文件夹。文件夹必须为空或不存在。参数为:报表文件夹路径。可指定生成测试报告路径,比如:-e -o /usr/local/src/apache-jmeter-5.4.1/JB/log |
| -H | 指定代理服务器域名或代理服务器IP。参数为:代理服务器域名或代理服务器IP |
| -P | 指定代理服务器端口号。参数为:代理服务器端口号 |
- 3.把结果文件通过xftp下载到本地,通过GUI模式可以查看测试详情。

四、可能出现问题及解决方法
- 1.提示:-bash: /usr/local/jmeter/apache-jmeter-3.1/bin/jmeter: Permission denied说明需要赋予对jmeter的操作权限,命令行输入命令chmod777/usr/Jmeter/apachejmeter3.1/bin/jmeter
- 2.提示: -bash: jmeter: command not found
很大可能是环境变量配置的有问题,检查变量配置文件中名称、路径配置是否正确。
JMeter压力测试之环境搭建、脚本调试及报错解决方法(Linux版)的更多相关文章
- 【jmeter】NO-GUI模式运行的过程及报错解决方法(转)
1.什么都不需要设置(若非得想配置点什么的话,那请看备注) 2.将脚本抛到Linux里 3.执行 jmeter -n -t /opt/day7_buildbug.jmx -l result.jtl - ...
- 搭建lamp或者lnmp环境,本地链接mysql报错解决方法
报错:1130-host...is not allowed to connect to this mysql server 解决方法: 1.改表法 可能是你的账号不允许从远程登录,这个时候只要进入服务 ...
- VS本地调试oracle报错解决方法
同事的项目,SVN下载下来以后一直报错,后来确认一下 1本地要安装oracle 2代码用的是64位的,所以本地安装也要64位的oracle 3VS调试用的IIS Express也要是64位的,激活方法 ...
- JMeter打开jmx文件报错解决方法
错误提示: Error Problem loading XMLfrom:'D:\software\apace-jmeter-3.3\bin\线程组jmx', missing class com.tho ...
- Appium环境搭建说明(包括报错处理)
Appium环境搭建说明 一.环境配置 前提是windows系统已安装以下软件: 1.jdk 我装的是1.8.0 2.android-sdk 3.python,3.4-3.6 5.Node.js,v8 ...
- 一次使用innobackupex重新搭建主从复制报错解决方法及注意事项
[环境介绍] 系统环境:CentOS release 6.4 (Final) + Server version: 5.7.18-log MySQL Community Server (GPL) + i ...
- 【亲测可行】Dev c++调试、运行报错解决方法总结
一.编译后 0错误 0警告,但是开始出现‘‘停止运行’’或者进行输入时出现‘‘停止运行’’ 可能的原因: 结构体指针为空,但调用了其成员. 有些scanf语句中忘记添加取址符. 无法跳出递归. 二. ...
- Play! 1.x Eclipse Debug调试报错解决方法记录
使用Play eclipsify xxxx[项目路径],可以把play new xxxx[项目路径]创建的工程生成为Eclipse的项目 但是在Debug AS 调试的时候,会报以下错误 Error ...
- linux启动jmeter,执行./jmeter.sh报错解决方法
1.l-bash: ./jmeter.sh: Permission denied解决办法:jmeter.sh的执行权限改改,是权限不够chmod 777 jmeter.sh 2.An error oc ...
- linux启动jmeter(二十三),执行./jmeter.sh报错解决方法(转载)
转载自 http://www.cnblogs.com/yangxia-test 1.l-bash: ./jmeter.sh: Permission denied解决办法:jmeter.sh的执行权限改 ...
随机推荐
- 普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU简介
目录 普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU简介 普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境 PY32F0系列上市其实相 ...
- day16-声明式事务-02
声明式事务-02 3.事务的传播机制 事务的传播机制说明: 当有多个事务处理并存时,如何控制? 比如用户去购买两次商品(使用不同的方法),每个方法都是一个事务,那么如何控制呢? 也就是说,某个方法本身 ...
- Spring04-AOP(Debug查看执行流程)
1 AOP的几个核心技术 AOP-面向切面编程的实现的核心技术:jvm运行期间对字节码进行修改或者动态生成新的字节码文件(asm技术). 2 AOP的几个核心概念 AOP在运行期间我们要对class文 ...
- P27_wxss - 全局样式和局部样式
全局样式 定义在 app.wxss 中的样式为全局样式,作用于每一个页面. 局部样式 在页面的 .wxss 文件中定义的样式为局部样式,只作用于当前页面. 注意: 当局部样式和全局样式冲突时,根据就近 ...
- 安卓逆向.5 xposed 替换方法-(实战贪吃蛇)
代码剖析 调用成功方法 获取类 方法写入 实战例子(贪吃蛇)
- 题解 [SHOI2002] 百事世界杯之旅
其实做这道题还蛮难受的...因为这个每一次有无限种可能我有钱我可以去买无限瓶可乐啊但是不是可口我不是很赞同┓( ´∀` )┏ 然后参考了这篇题解发现错位相减这样的方法,让我们一起膜拜 Butterfl ...
- HTTP/2 VS HTTP/3
HTTP(Hypertext Transfer Protocol)超文本传输协议是万维网中应用最广泛的应用层传输协议.HTTP起源于80年代末,最初构想是一个基于单行文本的的协议,第一个协议版本是HT ...
- NameError: name '_name_' is not defined
if _name_ == '_main_': 错误的原因可能是name是双下划线.(明显下面的下划线要长一点) if __name_ == '_main__':
- 基于JavaScript的OpenGL 01 之Hello Triangle
1. 引言 本文基于JavaScript语言,描述OpenGL(即,WebGL)的绘制流程,这里描述的是OpenGL的核心模式(Core-profile) 笔者这里不过多描述每个名词.函数和细节,更详 ...
- SpringMVC基础源码分析(一)
实现Controller的三种方式分析 每种实现的方式对应的HanderAdapter都不同. 实现Controller接口 该接口对应的HanderAdapter为SimpleControllerH ...