本文的主要内容是介绍如何在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压测环境的更多相关文章

  1. CentOS上搭建java WEB开发环境Tomcat+MySQL+JDK

    对于初学者来说,想在linux系统上搭建一个java web服务器,不知道什么方案可行, 这篇文章主要是告诉这些基础和概念相对薄弱的同学,这样搭建是可行的,大体上没问 题的,出问题也是细节问题.所以此 ...

  2. Jmeter压测环境准备

    Jmeter性能监控 配置好测试机器上的jmeter环境:http://jmeter-plugins.org/downloads/all/ 网站下载两个东西: JMeterPlugins-Standa ...

  3. 在linux服务器上搭建Struts2项目运行环境

    服务器上工作: 首先要先装java https://www.cnblogs.com/lamp01/p/8932740.html 然后装好tomcat https://www.cnblogs.com/y ...

  4. jmeter压测、操作数据库、分布式linux下运行、webservice接口测试、charles抓包

    一.jmeter压测 在线程组中设置好,然后添加http请求,t添加聚合报告查看压力测试结果,如图: 一般压测时间10-15分钟,如果是稳定性测试,一般n*12小时,这些并发用户一直在请求. tps: ...

  5. jmeter压测、操作数据库、分布式、 linux下运行的简单介绍

    一.jmeter压测 1.如何压测 常规性能压测:10-15分钟 稳定性测试:一周.2天等 如果想要压测10分钟,勾选永远,勾选调度器,填写600秒.也可以使用固定启动时间. 2.tps.响应时间 ( ...

  6. JMeter压测上对于并发的认识误区

    1.误区 在JMeter压测过程中,我们通常认为1s内100的并发量(即:QPS为100)的设置如下: 此时,没有再添加额外的控制器.上述中的参数设置解释:Number of Threads(user ...

  7. jmeter压测学习2-linux运行jmeter环境

    前言 使用jmeter做压测的时候,在windows上不太稳定,所有一直在linux服务器上使用jmeter做压力测试. 本篇记录下linux上搭建jmeter环境,以及运行jmeter脚本,查看报告 ...

  8. jmeter压测之添加负载机

    jmeter压测基本介绍一般基准测试(基准测试时间一般为5分钟)后压测的时间是10-15分钟: 实施测试之前要拿到测试指标 例如:tps要达到多少响应时间要达到多少并发数要达到多少TPS :服务端每秒 ...

  9. jmeter压测-负载配置

    jmeter 压测 一般压测的时间是10-15分钟 TPS:服务端每秒钟处理的请求数  越大越好 响应时间 :越短越好 并发用户数  也就是多少并发 指标给你:tps要达到多少 响应时间要达到多少 并 ...

随机推荐

  1. vscode 配置表

    { "git.ignoreMissingGitWarning": true, "editor.multiCursorModifier": "ctrlC ...

  2. RxHttp - 轻量级、可扩展、易使用、完美兼容MVVM、MVC架构的网络封装类库

    前言 RxHttp是基于RxJava2+Retrofit 2.9.0+OkHttp 4.9.0实现的轻量级,完美兼容MVVM架构的网络请求封装类库,小巧精致,简单易用,轻轻松松搞定网络请求. GitH ...

  3. CentOS7上安装伪分布式Hadoop

    1.下载安装包 下载hadoop安装包 官网地址:https://hadoop.apache.org/releases.html 版本:建议使用hadoop-2.7.3.tar.gz 系统环境:Cen ...

  4. Django自学计划之集装箱货物运输物流仓储一站式ERP系统

    业余开始学习时间:2018年1月 业余学习时间段:每天下班晚饭后时间+无事的星期六和星期天+上班时的空闲时间 自学目标: 1.我们要用管理的思维来写我们的系统! 2.我们要用我们的ERP系统帮助中小集 ...

  5. Dubbo之高级特性

    Dubbo 注意当启动服务时,该服务会占用本机一个端口号,故在一台电脑启动多个服务时需要在配置文件中更占用本机的端口号 <!--服务占用本机的端口-当本机启动多个服务时须保持不同--> & ...

  6. Portainer中文汉化

    一.概述 Portainer是Docker的图形化管理工具,提供状态显示面板.应用模板快速部署.容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作).事件日志显示.容器控制台操作.Swar ...

  7. 基于keras实现的中文实体识别

    1.简介 NER(Named Entity Recognition,命名实体识别)又称作专名识别,是自然语言处理中常见的一项任务,使用的范围非常广.命名实体通常指的是文本中具有特别意义或者指代性非常强 ...

  8. javascript中的闭包closure详解

    目录 简介 函数中的函数 Closure闭包 使用闭包实现private方法 闭包的Scope Chain 闭包常见的问题 闭包性能的问题 总结 简介 闭包closure是javascript中一个非 ...

  9. Java开发工程师最新面试题库系列——Mybatis框架部分(附答案)

    Mybatis Mybatis是什么框架? 答:持久层框架 Mybatis和ORM有什么区别? 答:ORM是对象关系映射的一种设计理念,也就是对象属性对应数据库字段,让开发人员以操作对象的方式操作数据 ...

  10. 如何在 C# 8 中使用 Channels

    在面对 生产者-消费者 的场景下, netcore 提供了一个新的命名空间 System.Threading.Channels 来帮助我们更高效的处理此类问题,有了这个 Channels 存在, 生产 ...