在Linux CentOS上搭建Jmeter压测环境
本文的主要内容是介绍如何在Linux CentOS 服务器上面搭建Jmeter的压测环境整个详细的流程,来满足我们日常工作中对于压力测试环境搭建、压力测试执行过程的需求。
一、首先我们要准备四个东西,在搭建环境的时候需要使用到
1、Xshell、puTTy等终端连接工具(本文教程使用Xshell)
Xshell用于连接Linux CentOS 服务器,为我们提供操作服务器的可视化界面,如何连接服务器本文不做赘述,如果有需要请自行联网搜索,网上教程很多。连接成功如下:

2、 Jmeter压缩安装包
Jmeter的压缩包需要自己去Jmeter的官网进行下载,由于是在centos环境下,所以我们下载tgz格式的压缩包就可以了,本文使用Jmeter 5.2.1进行演示:https://jmeter.apache.org/download_jmeter.cgi

3、 jmeter-plugins-manager-1.4.jar 插件,地址:https://jmeter-plugins.org/install/Install/,直接浏览器访问就可以下载了

4、 一台用于执行的服务器
需要注意的是,在实际工作中,一般情况下会有两台服务器,一台目标服务器(也可以称为生产服务器)被用于压测,一台压测服务器用于执行压测脚本
二、在进行Jmeter安装之前我们需要先安装JDK,为Jmeter提供运行环境,安装步骤如下:
1、首先检查是否安装了JDK:java -version
以下是未安装的情况,如果安装JDK需要按照Jmeter官网的建议安装Java8及以上的版本


以下是已经安装的情况:

2、查看Linux系统版本:【more /proc/version】、【uname -a】、【uname -r】、【lsb_release -a】,以上的命令任一 一个即可。查看版本的目的主要是查看我们的系统是64位还是32位的,我们需要安装对应版本的Java

我的服务器是64位,所以我对应安装64位的JDK就可以了
1、 使用前端软件包管理器Yellow dog Updater, Modified提供的JDK安装包,直接安装JDK:
l 列出所有可安装的Java软件包 :【yum list java*】
从结果可以看出我们可以安装软件包管理器提供的Java1.6,Java1.8,Java11版本,其中我们选择安装版本Java8即可

l 安装Java1.8.0版本:【yum -y install java-1.8.0-openjdk*】
注意:【jdk和*通配符之间不能敲空格,有空格不能匹配所有的子文件】【安装过程中需要等待它执行完成,不要中途中断,中断后可能出现错误,出现错误可以尝试卸载Java后重新安装】

l 安装JDK后查看是否安装成功(查看Java版本):【java -version】
优势:使用以上方法安装的JDK不用配置环境变量,JDK1.8以上的版本不需要配置运行环境

三、在Linux CentOS系统安装Jmeter
1、选择你需要放置Jmeter压缩包的文件夹:cd /usr/local/codes
通过以下方法可以查看自己服务器上是否存在以上文件夹:
l 执行命令进入目录:cd /usr/local/
(命令:cd / 进入根目录)
l 查看根目录下面所有文件夹:ls -l
发现没有codes文件夹,表明我的服务器下不存在codes文件夹
l 在/usr/local下新建一个codes目录用来存放Jmeter有关文件:mkdir codes
l 查看local下的目录:ls -l
l 已经新增codes文件夹成功【注意需要在local文件夹下执行,其他的文件夹下执行该命令的不会在local下新增】

注意:【建议将Jmeter放置在 /usr/local下,这文件夹是用于安装各项应用文件的;Jmeter是免安装的,我们只需要将Jmeter解压到一个目录下面,并根据这个目录配置环境变量即可】
2、上传Jmeter压缩包并解压Jmeter压缩包
l 进入codes目录:cd /usr/local/codes
l 查看Linux主机是否安装了lrzsz(用于Windows上传文件到Linux上),输入命令【任一目录均可以】:rz

l 找不到lrzsz,就需要先安装(同样使用软件包管理器),执行:yum -y install lrzsz
检查安装是否成功:rpm -qa lrzsz

l 安装成功后,上传文件:rz
l 上传文件-弹出窗-选择Windows本地的压缩文件【apache-jmeter-5.2.1.tgz】-上传完成弹窗关闭

l 上传完成后在codes文件夹下检查是否成功:ls -l

l 在codes目录下解压Jmeter压缩包:tar zxvf apache-jmeter-5.2.1.tgz
l 查看解压后的目录显示:ls –l
蓝色的为解压后的文件夹,红色的为上传的压缩包

3、配置Jmeter环境变量
l 进入etc目录:cd /etc/
l 打开profile文件进行编辑:vim profile
l 将以下内容复制到空白处:
export JMETER_HOME=/usr/local/codes/apache-jmeter-5.2.1
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH:$HOME
【注意:粘贴时需要谨慎,检查单词是否完成,粘贴路径是否正确等,保证配置的正确。】

l 按下键盘【esc】键退出
l 按了esc键后输入:【:wq】再按下【enter】键,保存并退出


l 刷新保存环境变量,使配置文件生效:source /etc/profile

l 验证环境变量是否配置成功,显示如下界面则表示成功:jmeter -v

l 查看配置:[echo $PATH] [echo $JMETER_HOME] [echo $CLASSPATH]
显示已经配置成功

1、 安装Jmeter插件jmeter-plugins-manager
这个插件主要是用于:将Jmeter执行请求后生成的jtl文件转化为统计图,方便压测执行后数据分析,统计。
安装插件比较简单,只需要把下载好的jar包放到Jmeter的lib/ext目录下就可以了,具体步骤:
l 切换到目录:cd /usr/local/codes/apache-jmeter-5.2.1/lib/ext
l 上传本地文件【jmeter-plugins-manager-1.4】:rz
l 检查是否成功上传:ls -l

四、执行具体的压测操作
1、在/usr/local/codes下创建Jmeter目录,用于存放Jmeter脚本:mkdir jmeter
2、在/usr/local/codes下创建log目录,用于存放Jmeter脚本执行后的日志文件:mkdir log

3、上传编写好的脚本到目录Jmeter:
l 切换目录:cd /usr/local/codes/jmeter
l 上传脚本:rz 【脚本名称:测试压测.jmx】
l 在存放Jmeter脚本的文件夹下执行Jmeter脚本:jmeter -n -t 测试压测.jmx -l ../log/item.jtl
注意:【命令脚本名称与执行脚本的名称要一 一对应,尤其是空格这些要特别注意;一定要在存放Jmeter脚本的目录下执行上述命令,否则找不到Jmeter脚本】【jmeter -n -t 脚本名称 -l 存放结果日志的绝对路径或者相对路径/日志文件】
执行结果如下:

4、简单介绍数据结果各个字段含义:
l Summary:本次压测执行总的请求数(单位:次)
l Avg:所有请求数的平均响应时长(单位:ms)
l Min:所有请求中响应时长最短的请求(单位:ms)
Max:所有请求中响应时长最长的请求(单位:ms)
l Err:本次压测执行后的错误率
l Active:请求活跃数
l Finished:已结束的请求
5、导出报告,步骤如下:
l 先进入日志存放的目录:cd /usr/local/codes/log
l 将已经生成的日志转化为HTML报告:jmeter -g item.jtl -o /usr/local/codes/log/item

【注意:/usr/local/codes/log这个地方可以写绝对路径也可以写相对路径,如果不确定自己写的相对路径是否正确,就写绝对路径就行了】、【如果每次导出报告想要导出单次压测的数据而不是多次压测数据的总和的话,需要在每次执行导出报告后将log文件夹里面的压测数据清空,使用命令[rm -rf *],使用该命令的时候尤其要小心,需要到/usr/local/codes/log文件夹下执行,不能随意执行】
l 将item.jtl文件压缩成item.tar.gz文件:tar zcvf item.tar.gz item

l 把已经生成的报告文件导出,放到Windows任一(桌面 )路径即可: sz item.tar.gz

l 解压桌面文件并打开压缩包里面的index.html 文件:
index.html文件里面详细记录了压测后的请求总数,响应时长,error率,error数,error原因等各项数据,可以用于压测结果分析。


注意:【如果遇到导出的文件解压后会出现不能打开的情况,如下图。这种情况下可以使用,直接用解压软件打开压缩包,在压缩包里面点击下图的文件,就可以打开并查看index.html文件了】
至此我们的Jmeter压测环境便已经搭建完成,在搭建的过程中会有各种问题,所以希望读者在实际操作的时候多加细心,慢慢处理每一个步骤。希望以上内容对大家有用,谢谢。
在Linux CentOS上搭建Jmeter压测环境的更多相关文章
- CentOS上搭建java WEB开发环境Tomcat+MySQL+JDK
对于初学者来说,想在linux系统上搭建一个java web服务器,不知道什么方案可行, 这篇文章主要是告诉这些基础和概念相对薄弱的同学,这样搭建是可行的,大体上没问 题的,出问题也是细节问题.所以此 ...
- Jmeter压测环境准备
Jmeter性能监控 配置好测试机器上的jmeter环境:http://jmeter-plugins.org/downloads/all/ 网站下载两个东西: JMeterPlugins-Standa ...
- 在linux服务器上搭建Struts2项目运行环境
服务器上工作: 首先要先装java https://www.cnblogs.com/lamp01/p/8932740.html 然后装好tomcat https://www.cnblogs.com/y ...
- jmeter压测、操作数据库、分布式linux下运行、webservice接口测试、charles抓包
一.jmeter压测 在线程组中设置好,然后添加http请求,t添加聚合报告查看压力测试结果,如图: 一般压测时间10-15分钟,如果是稳定性测试,一般n*12小时,这些并发用户一直在请求. tps: ...
- jmeter压测、操作数据库、分布式、 linux下运行的简单介绍
一.jmeter压测 1.如何压测 常规性能压测:10-15分钟 稳定性测试:一周.2天等 如果想要压测10分钟,勾选永远,勾选调度器,填写600秒.也可以使用固定启动时间. 2.tps.响应时间 ( ...
- JMeter压测上对于并发的认识误区
1.误区 在JMeter压测过程中,我们通常认为1s内100的并发量(即:QPS为100)的设置如下: 此时,没有再添加额外的控制器.上述中的参数设置解释:Number of Threads(user ...
- jmeter压测学习2-linux运行jmeter环境
前言 使用jmeter做压测的时候,在windows上不太稳定,所有一直在linux服务器上使用jmeter做压力测试. 本篇记录下linux上搭建jmeter环境,以及运行jmeter脚本,查看报告 ...
- jmeter压测之添加负载机
jmeter压测基本介绍一般基准测试(基准测试时间一般为5分钟)后压测的时间是10-15分钟: 实施测试之前要拿到测试指标 例如:tps要达到多少响应时间要达到多少并发数要达到多少TPS :服务端每秒 ...
- jmeter压测-负载配置
jmeter 压测 一般压测的时间是10-15分钟 TPS:服务端每秒钟处理的请求数 越大越好 响应时间 :越短越好 并发用户数 也就是多少并发 指标给你:tps要达到多少 响应时间要达到多少 并 ...
随机推荐
- 翻译:《实用的Python编程》02_03_Formatting
目录 | 上一节 (2.2 容器) | 下一节 (2.4 序列) 2.3 格式化 虽然本节稍微有点离题,但是当处理数据时,通常想要生成结构化的输出(如表格).示例: Name Shares Price ...
- Hi3559AV100的VI细节处理说明
因为项目后期涉及到MPP平台下的VI接口,现把有关视频输入VI模块的实现细节总结,也方便大家进一步了解. 1.整体概述 视频输入(VI)模块实现的功能:通过 MIPI Rx(含 MIPI 接口.LVD ...
- 181. 超过经理收入的员工 + join + MySql
181. 超过经理收入的员工 LeetCode_MySql_181 题目描述 方法一:笛卡尔积 # Write your MySQL query statement below select e1.N ...
- 番外----python入门----关于pycharm
江湖上有句话叫 "武林至尊,宝刀屠龙,号令天下,莫敢不从,倚天不出,谁与争锋". 今天,我们就来介绍一下,python编程界的"屠龙刀",pycharm. 一. ...
- 图解如何在Linux上配置git自动登录验证
记录一下配置git操作远程仓库时的自动验证,效果如下图: 本文介绍的是Linux下的配置.Windows上默认已经启用凭证存储和自动验证(依靠wincred实现,以后会使用GCM-Core). 准备工 ...
- Fastjson1.2.24RCE漏洞复现
Fastjson1.2.24RCE漏洞复现 环境搭建 这里用的Vulhub靶场 cd /vulhub/fastjson/1.2.24-rce docker-compose up -d 报错 ERROR ...
- python基础学习之简化占位符和格式化的概念
简化版占位符有哪些? %s 字符串占位符,代表该位置有一个字符串待替换(万能) %d 数字占位符,代表该位置有一个数字待替换 %f 同上,这里是浮点数,float[默认保留6位小数] % ...
- 网易云信 QUIC 加速服务架构与实践
导语:网易云信作为音视频服务提供商的领导者,一直致力于提供顶级的音视频通话服务体验,为用户在各种恶劣环境下提供可靠的音视频服务.如何在极端弱网条件下仍然能给用户提供可靠的音视频服务,是网易云信关注的重 ...
- python实现顺序表
python实现顺序表可以有两中形式进行存储 列表 元组 其实简单来说,顺序表无非就是操作列表和元组的方法来对顺序表进行操作. 实例代码 7 class SqList: 8 def __init__( ...
- BeautifulSoup爬取微博热搜榜
获取url 设定请求头 requests发出get请求 实例化BeautifulSoup对象 BeautifulSoup提取数据 import requests 2 from bs4 import B ...