【Jmeter】Linux(Mac)上使用最新版本Jmeter(5.0)做性能测试
本文我们一起来学习在Linux(Mac)上利用Jmeter进行性能测试并生成测试报告的方法。
环境准备
JDK
访问这个地址 【JDK11.01】,根据实际环境下载一个JDK。

Jmeter
Jmeter 5.0:https://jmeter.apache.org/download_jmeter.cgi
建议下载zip绿色版本

环境变量
因为博主使用的是dmg安装包,安装时已自动完成环境变量配置,其他linux环境可能需要手动完成,输入命令vim /etc/profile ,添加下面的内容,保存后,执行 source /etc/profile让其生效即可 (比较懒的小伙伴可以直接用.代替source)。
注意:下面配置中的jmeter-5.0路径要根据实际Jmeter包放置的位置进行修改。
export JAVA_HOME=/usr/java/1.8.0_181
export CLASSPATH=.:JAVA_HOME/lib/dt.jar:$JAVA_HOME.lib/tools.jar:$JRE_HOME.lib
export PATH=$PATH:$JAVA_HOME/lib
export PATH=/jmeter/apache-5.0/bin/:$PATH
export JMETER_HOME=/jmeter/jmeter-5.0
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH
运行Jmeter
权限
在Linux下执行软件脚本时,遇到的最多的可能就是权限的问题,我们可以使用ls -l来查看文件的权限信息,比如文件最前方的-rwxr-xr-x就表示文件所有者有读写执行的权限,文件所有者所在群组和或者其他的用户有读和执行的权限。当然我们也可以那就是查看文件的颜色来判断其权限,常见的颜色对应信息如下表,当然,这些都是可以手动设置的,所以仅作参考:
| 颜色 | 代表的信息 |
|---|---|
| 白色 | 普通的文件 |
| 蓝色 | 目录 |
| 绿色 | 可执行的文件 |
| 红色 | 压缩文件或者包文件 |
| 青色 | 连接文件 |
| 黄色 | 设备文件 |
| 灰色 | 其他的文件 |
启动jmeter,
在Linux环境下切换到jmeter的bin目录执行./jmeter.sh即可启动jmeter,比如博主的目录是:
/Users/bingo/Hebinz/apache-jmeter-5.0/bin
启动之后我们可以看到终端打印的信息:不要使用GUI模式进行负载测试,GUI只用于创建脚本以及用来debug,执行测试时建议使用非GUI模式运行。后面紧接着的就是命令行模式的命令提示。

创建脚本
这里以访问我博客首页为例:

脚本保存为test.jmx
运行脚本
输入命令 jmeter -n -t test.jmx -l test.jtl ,运行jmeter脚本。
常用命令解析:
| 常见命令 | 说明 |
|---|---|
| -h | 帮助:打印出有用的信息并退出 |
| -n | 非 GUI 模式:在非 GUI 模式下运行 JMeter |
| -t | 测试文件:要运行的 JMeter 测试脚本文件 |
| -l | 日志文件:记录结果的文件 |
| -r | 远程执行:启动远程服务 |
| -H | 代理主机:设置 JMeter 使用的代理主机 |
| -P | 代理端口:设置 JMeter 使用的代理主机的端口号 |
运行结果如下图:

由于我只运行了一次,所以只有一轮结果。
查看测试报告
打开聚合报告

然后打开刚才的文件就可以了

生成HTML报告
参考命令:
jmeter -n -t test.jmx -l test.csv -e -o htmlResult
会在当前目录生成一个test.csv文件结果和存储html报告的文件夹htmlResult,浏览器打开文件夹里面的index.html就能看到html报告了。
HTML报告详情的话可以参考我另外一个博客:【Jmeter】 Report Dashboard 生成html图形测试报告
总结
- Jmeter 5.0 Mac环境搭建
- Linux系统权限
- Jmeter常用命令及如何生成Html性能测试报告
【Jmeter】Linux(Mac)上使用最新版本Jmeter(5.0)做性能测试的更多相关文章
- 体验CoreCLR的stack unwinding特性在Linux/Mac上的初步实现
有了stack unwinding特性,才能在.NET程序中获取调用堆栈(call stack)信息,才能在异常时显示调用堆栈信息.这个特性之前只在Windows上有实现,Linux/Mac上的实现最 ...
- Mac上配置不同版本的JDK
Mac上JDK的版本为1.8,编译AOSP时发现需要JDK 1.7.想找一种比较容易切换JDK版本的方式,经过一番Google发现Jenv比较合适. 安装Jenv至少有三种方式: - $ git cl ...
- 大规模数据分析统一引擎Spark最新版本3.3.0入门实战
@ 目录 概述 定义 Hadoop与Spark的关系与区别 特点与关键特性 组件 集群概述 集群术语 部署 概述 环境准备 Local模式 Standalone部署 Standalone模式 配置历史 ...
- linux & mac环境python多版本切换与选择
linux和mac很多地方是相似的,只不过在切换python版本时权限有差异. ====图已补上,O(∩_∩)O~ 1.linux 首先linux内核自带版本是python2.6,但是一般linux ...
- Mac 上Python多版本切换
Mac上自带了Python2.x的版本,有时需要使用Python3.x版本做开发,但不能删了Python2.x,可能引起系统不稳定,那么就需要安装多个版本的Python. 1.安装Python3.x版 ...
- mac上Python多版本共存
http://www.cnblogs.com/mingaixin/p/6295963.html https://www.cnhzz.com/pyenv_virtualenv_virtaulenvwra ...
- mac上Python多版本共存(python2.7.10和python3.5.0)
本文的实现目标是在mac上安装一个python3.5.0的版本,跟当前系统自带的python2.7.10共存. 查看当前版本号 python -V 2.7.10 安装配置Python版本管理器pyen ...
- 【我的Android进阶之旅】如何快速寻找Android第三方开源库在Jcenter上的最新版本
问题描述 解决方法 先了解compile comsquareupokhttpokhttp240的意义 了解Jcenter和Maven jcenter Maven Central 理解jcenter和M ...
- 在 CentOS 6.x 上安装最新版本的 git
在 CentOS 的默认仓库中有git,所以最简单的方法是: $ sudo yum install git 这种方法虽然简单,但是一般仓库里的版本更新不及时,比如 CentOS 仓库中的 git 最新 ...
随机推荐
- mysql外键使用和事物使用
mysql外键功能主要是为了保证关联表数据的一致性,主要目的是控制存储在外键表中的数据. 使两张表形成关联,外键只能引用外表中的列的值! 例如: a b 两个表 a表中存有 客户号,客户名称 b表中存 ...
- #C++初学记录(sort函数)
sort函数 前言:当进行贪心算法的学习时,需要用到sort函数,因为初学c++汇编语言,sort的具体用法没有深入学习,所以这里进行sort学习记录并只有基础用法并借用贪心算法题目的代码. 百度百科 ...
- C/S模型之UDP协议
说明:利用UDP协议,创建一个服务器和一个客户端.两者间进行通信.由客户端进行输入内容,而服务器将接受的内容进行再一次返回,并显示在服务端. // UDP_Seversock.cpp : 定义控制台应 ...
- EditPlus 5.1.2066 中文版(1月30日修正)
之前有一些网友反馈汉化版的 EditPlus 中翻页键无法正常工作.经过调查,发现是翻译工具的问题. 因此,我用新的工具重新翻译了 EditPlus.翻页键在新中文版中应该可以正常工作了. 有需要的网 ...
- Python: str.split()和re.split()的区别
str.split() 单一分隔符,使用str.split()即可 str.split不支持正则及多个切割符号,不感知空格的数量 re.split() 多个分隔符,复杂的分隔情况,使用re.split ...
- mysql错误日志与通用日志
错误日志 MySQL错误日志是记录MySQL 运行过程中较为严重的警告和错误信息,以及MySQL每次启动和关闭的详细信息. 1.错误日志路径查询 show variables like '%log_e ...
- leetcode_目录
3Sum Closest 3Sum 4Sum Add Binary Add Two Numbers Anagrams Balanced Binary Tree Best Time to Buy and ...
- Maven的scope的值
Maven的依赖范围 在pom.xml文件中,有个元素是scope,用来表示依赖的范围.之所以会有依赖范围,是因为Maven在编译.测试和运行项目时会各自使用一套classpath,依赖范围就是用来控 ...
- bzoj1056/1862 [Zjoi2006]GameZ游戏排名系统
题目链接:1,2 treap恶心题,不多说 #include<algorithm> #include<iostream> #include<cstdlib> #in ...
- 通过Jenkins + Docker实现antdPro自动化推送私服、自动容器化部署功能
Docker与Docker私服 1. 安装docker https://docs.docker.com/install/ 2. 配置docker镜像加速 https://www.daocloud.io ...