==========================================================================================================

写在前面:

因为工作需要,Windows下的自动化测试已经不能满足需求,需要在Linux环境下运行。

主要原因是:因为上班时候,使用Jmeter Windows平台时,会占用大量的网络资源,其他同事上网都会受到影响(也不知道其他公司是这样的情况吗,主要是网慢)

然后,第二个原因是,Windows平台下,加载到一定程度时,资源会被耗尽,而且测试服务器和本地服务器的网段不在一块,测试会经过很多网络链路

所以:结论就是,在linux下,实现服务器对服务器公网的压测。

==========================================================================================================

在Linux服务器上测试,首先,需要部署Jmeter到linux服务器上。

1、配置java环境(网上借鉴别人的)

        (1)检查当前系统已安装jdk的版本:  rpm -qa|grep jdk,若未安装则执行下一步骤
              (卸载命令rpm -e --nodeps java-1.6.0-1.45.1.11.1.el6.x86_64 【java-1.6.0-1.45.1.11.1.el6.x86_64为jdk版本信息】)
       (2)安装jdk1.7: 将jdk-7u79-linux-x64.rpm文件拷到/opt/目录下,执行命令:

>>cd /opt/

>>rpm -ivh jdk-7u79-linux-x64.rpm

确认安装成功:

>>rpm -qa|grep jdk

(3)最后修改vi /etc/profile,在文件的最后添加如下内容:

JAVA_HOME=/opt/jdk1.7.0_75
              PATH=$JAVA_HOME/bin:$PATH
              CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
              export JAVA_HOME
              export PATH
              export CLASSPATH

(4)保存后,用户退出

(5)再次登录liunx,检查jdk是否安装成功:输入java、输入java -version,能查看到版本即jdk安装成功

2、安装jmeter

(1)直接将 windows使用的jmeter拷贝至opt目录下面,即apache-jmeter-2.13版本

[也可以下载apache-jmeter-2.12.tgz移动到/opt目录下,解压:tar -zxvf apache-jmeter-2.12.tgz]

(2)配置环境变量:vi  /etc/profile,输入:

                 export PATH=/opt/apache-jmeter-2.13/bin/:$PATH
                保存后,用户退出
          (3)重新登录linux系统,检验jmeter是否可以运行:jmeter -v
                  Copyright (c) 1998-2015 The Apache Software Foundation
                  Version 2.13 r1665067
           (4)查看jmeter.sh是否能够执行,若不能未其添加执行权限,我直接  chmod 777 jmeter.sh,可用  sh jmeter.sh -v 来检测命令是否可用。

3、编写测试用例jmx

我是在windows的Jmeter模式下,新建一个测试计划,可在测试计划里添加对应的定时器,聚合报告等,保存并上传到linux机器对应目录。

在linux目录下找到你的测试计划,vim打开进行编辑

<stringProp name="ThreadGroup.num_threads"></stringProp>   线程数
<stringProp name="ConstantTimer.delay"></stringProp> 固定定时器的时间间隔
可以在Linux环境下,进行相关的参数调整。

Jmeter安装成功后,jmx文件准备好时,可以使用以下命令,运行压测文件。

下载:同样在jemeter官网下载 对应的安装包,解压后执行:./jmeter -n -t ../ssdb_test.jmx -l ../log.jtl
/root/test/apache-jmeter-3.2/bin/jmeter -n -t test.jmx -l test.jtl

运行测试脚本时可以使用的一些命令:

  • -h 帮助 -> 打印出有用的信息并退出
  • -n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
  • -t 测试文件 -> 要运行的 JMeter 测试脚本文件
  • -l 日志文件 -> 记录结果的文件
  • -r 远程执行 -> 启动远程服务
  • -H 代理主机 -> 设置 JMeter 使用的代理主机
  • -P 代理端口 -> 设置 JMeter 使用的代理主机的端口号

例如:jmeter -n -t test1.jmx -l logfile1.jtl -H 192.168.1.1 -P 8080

4、结果文件即之前保存过的test.jtl格式文件

该文件可以使用 GUI 模式下的聚合报告查看,可以打开 JMeter GUI 界面 -> 测试计划 -> 添加线程组 -> 添加聚合报告 -> 点击 "浏览..." 按钮找到你刚生成的 jtl 文件打开即可统计结果进行分析。

5、需要把log从服务器上下载到本地时,使用:

tar -zcvf JavaTest-500-3-ForEver.tar.gz JavaTest-500-3-ForEver.jtl JavaTest-500-3-ForEver.log

然后将文件使用可视化的界面下载到本地。

参考地址:https://www.cnblogs.com/zhaoxd07/p/5059541.html

【Jmeter自学】Linux环境下Jmeter运行的更多相关文章

  1. linux环境下jmeter安装和运行

    linux环境部署: 在Linux服务器先安装jdk:2.以jdk-8u172-linux-x64.tar.gz为例:下载地址:http://www.oracle.com/technetwork/ja ...

  2. linux 环境下jmeter+ant+jenkins

    一.linux下的jenkins的安装: 下载链接:https://pan.baidu.com/s/1qZItZOC 密码:58da Jenkins 下载网址: http://jenkins-ci.o ...

  3. Linux 环境下jmeter 安装和配置

    1. 下载和安装JDK vim /etc/profile export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_92 export JRE_HOME=$JAVA_HOME/jr ...

  4. 【NO.2】Jmeter-安装Jmeter - 在Linux环境安装Jmeter - 在Windows环境安装Jmeter

    当配置完Jmeter运行的环境之后,就可以开始安装Jmeter了. 为什么既要告诉各位"在Linux系统内安装Jmeter",又要告诉各位"在Windows系统内安装Jmeter"?因为当我们在构建1 ...

  5. Linux环境下Jmeter 报错:Unable to get local host IP address

    主要是没有在host中配置本机ip hostname查看本机名 [root@test task]# hostname test [root@test task]# 打开 [root@test task ...

  6. 在linux环境下编译运行OpenCV程序的两种方法

    原来以为在Ubuntu下安装好了OpenCV之后,自己写个简单的程序应该很容易吧,但是呢,就是为了编译一个简单的显示图片的程序我都快被弄崩溃了. 在谷歌和上StackOverFlow查看相关问题解答之 ...

  7. Linux环境下部署完JDK后运行一个简单的Java程序

    前言 前一篇文章详细讲解了如何在Windows环境下安装虚拟机+Linux系统,并且成功部署了JDK. 不过部署完JDK之后,我们判断部署是否成功的依据是看"java -version&qu ...

  8. linux环境下使用jmeter进行压力测试

    linux环境下使用jmeter进行压力测试 linux环境下使用就meter进行压力测试: linux环境部署: 在Linux服务器先安装jdk: 2.以jdk-8u172-linux-x64.ta ...

  9. linux 环境下运行STS时 出现must be available in order to run STS

    linux 环境下运行ECLIPSE时 出现 “ A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be avai ...

随机推荐

  1. python 计算校验和

    校验和是经常使用的,这里简单的列了一个针对按字节计算累加和的代码片段.其实,这种累加和的计算,将字节翻译为无符号整数和带符号整数,结果是一样的. 使用python计算校验和时记住做截断就可以了. 这里 ...

  2. camera-arm-RPI

    这个属于先收藏着,知道有个开源的东西. luvcview是一个开源项目,专注于UVC摄像头的测试,只要您的摄像头支持UVC驱动,即可使用luvcview测试程序,如何知道自己的摄像头是不是支持UVC驱 ...

  3. jenkins构建触发器详解-不登录触发远程构建

    利用jenkins的远程构建功能,我们可以使用任何脚本,甚至定制一个Web页来控制Job的执行,但是远程构建你如果直接使用的话,老是需要登录才能执行,如何避免登录?稍微折腾了一下,调通了. 1.首先去 ...

  4. wcf 数值类型赋值不能的问题解决

    客户端给对象int类型赋值,服务端收到值为0 网上给出的方案 1.数值型字段+isrequired属性.能解决问题,但没有说明原因.数值型默认不赋值,不科学. 2.emitdefaultvalue.没 ...

  5. SpringCloud之网关 Zuul(四)

    一 Zuul简介 zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用. Zuul 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架.Z ...

  6. RTB业务知识之2-Impression概念和关键属性

    一.定义-impression This object describes an ad placement or impression being auctioned. A single bid re ...

  7. KeyBoardEvent

    顺便提一句 在纯Flash CS环境下初始要这样写stage?init(null):addEventListener (Event.ADDED_TO_STAGE, init);即 if(stage ! ...

  8. bzoj4937: [Ceoi2016]popeala

    Description 你办了一场比赛,有n给人参加,只有一道题,有m个数据点,标号为1~m,每个测试点都有一个分数a[i].现在所 有选手已经提交了程序并且测评完了,你知道每个人都能通过哪些测试点. ...

  9. NIO框架之MINA源码解析(四):粘包与断包处理及编码与解码

    1.粘包与段包 粘包:指TCP协议中,发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾.造成的可能原因: 发送端需要等缓冲区满才发送出去,造成粘包 接收 ...

  10. mariadb semi plugin遇到的坑

    安装完semi plugin运行一段时间后,重启mariadb, 突然发现canal无法解析数据了,一直在报错,然后登陆mariadb, show plugins竟然没有看到之前安装的semi plu ...