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的执行权限改 ...
随机推荐
- 基于AbstractProcessor扩展MapStruct自动生成实体映射工具类
作者:京东物流 王北永 姚再毅 1 背景 日常开发过程中,尤其在 DDD 过程中,经常遇到 VO/MODEL/PO 等领域模型的相互转换.此时我们会一个字段一个字段进行 set|get 设置.要么使用 ...
- chatGPT 桌面版安装教程
概述 标题党了,首先声明 ChatGPT 官方没有桌面版,目前市面上很多的桌面应用也在是浏览器上包了一层,而且大多做的比较粗糙,不太好用,所以都不太推荐. 作为一名骨灰级的程序员,ChatGPT 的重 ...
- ChatGPT留给知乎、小红书的时间不多了
大家好啊,今天我打算给大家整点好活!挑战一下用ChatGPT打入各平台内部. 知乎挑战! 首先了解一下"知乎体" 知乎体是以专业知识为基础,以清晰的条理对问题进行阐述,并解决该问题 ...
- 还不来了解ChatGPT?免费账号
可以查看这里给大家提供了一些免费的账号供大家尝试 note.youdao.com/s/OvxaLZiF ChatGPT作为最近火遍互联网的AI项目,获得了大家空前的关注,短短两个多月注册人数破 ...
- c++标准库string的使用完美总结——十分详细,复习学习记忆都可以使用
std::string详解 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作为一个类出现,他集成的操作函数足 ...
- 跟着廖雪峰学python 005
函数的调用.定义.参数 编辑 #######命名关键字参数没完 abs()函数:绝对值 >>> abs(100) 100 >>> abs(-20) 20 ma ...
- LC761.特殊的二进制序列
import org.junit.jupiter.api.Test;import java.util.ArrayList;import java.util.Collections;import jav ...
- Linux问题--docker启动mysql时提示3306端口被占用(kill不掉3306端口)
使用kill -9 杀掉mysqld服务时一直失败. mysql启动时会启动mysqld和mysqld_safe两个进程,当使用kill -9杀掉mysqld进程时,mysqld_safe会自动重新启 ...
- JZOJ 2022.02.10【提高组】模拟总结
\(\text{简要题解}\) \(\text{GDOI2012}\) 的题 不得不说当年的题做起来真的很不爽 整体看起来就是数据结构+博弈论+宽搜+背包dp优化 考场上 \(T1\) 十分钟解决过了 ...
- JZOJ 1166. 树中点对距离
题面 思路 本蒟蒻第一次学点分治,正遇模板题,留个模板代码 \(Code\) #include<cstdio> #include<algorithm> using namesp ...