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的执行权限改 ...
随机推荐
- 数据库实践丨使用MTK迁移Mysql源库后主键自增列导致数据无法插入问题
摘要:用户使用Mogdb 2.0.1版本进行业务上线测试,发现在插入数据时,应用日志中提示primary key冲突,用户自查业务SQL没有问题,接到通知后,招手处理故障. 本文分享自华为云社区< ...
- 推荐一款在浏览器编辑`Blazor`的`IDE`
不知道是否有Blazor用户羡慕过React或者Vue用户,在一些组件库中,它们就提供了在当前的组件预览对于组件的实时编辑并且预览? 比如semi-design的这种 在比如codepen这种 由于B ...
- 【Azure Cache for Redis】Python Djange-Redis连接Azure Redis服务遇上(104, 'Connection reset by peer')
问题描述 使用Python连接Azure Redis服务,因为在代码中使用的是Djange-redis组件,所以通过如下的配置连接到Azure Redis服务: CACHES = { "de ...
- python自动发布-优化版本
import sys import time import os import paramiko from pygments.lexers import shell baseconfig = { &q ...
- 重新思考 Vue 组件的定义
重新总结组件的定义 这是官方对组件的定义:组件允许我们将 UI 划分为独立的.可重用的部分,并且可以对每个部分进行单独的思考.在实际应用中,组件常常被组织成层层嵌套的树状结构. 对于 Vue 开发经验 ...
- ICSharpCode.SharpZipLib.Zip 解析时报错System.NotSupportedException: No data is available for encoding 936
分析原因 利用ICSharpCode.SharpZipLib.Zip进行APK解析时,因为APK内编译的名称为中文,查询微软开发文档936为gb2312中文编码 微软开发文档地址https://doc ...
- JavaScript 日期和时间的格式化
一.日期和时间的格式化 1.原生方法 1.1.使用 toLocaleString 方法 Date 对象有一个 toLocaleString 方法,该方法可以根据本地时间和地区设置格式化日期时间.例如: ...
- 《深入理解java虚拟机》第七章读书笔记——虚拟机类加载机制
系列文章目录和关于我 一丶虚拟机类加载机制是什么 java虚拟机将描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可用被虚拟机直接使用的java类型. 二丶类加载时 ...
- flutter系列之:在flutter中使用导航Navigator
目录 简介 flutter中的Navigator Navigator的使用 总结 简介 一个APP如果没有页面跳转那么是没有灵魂的,页面跳转的一个常用说法就是Navigator,flutter作为一个 ...
- Redis 源码解读之逐出策略
Redis 源码解读之逐出策略 背景和问题 本文想解决的问题: redis 触发逐出的时机是怎样的? redis 逐出策略有哪些? 如何在海量的 key 中快速找到逐出评价值(idle)最高的key, ...