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

写在前面:

因为工作需要,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. ASP.NET AJAX入门系列(3):使用ScriptManagerProxy控件

    在ASP.NET AJAX中,由于一个ASPX页面上只能有一个ScriptManager控件,所以在有母版页的情况下,如果需要在Master-Page和Content-Page中需要引入不同的脚本时, ...

  2. java 多线程详解

    一.重点 重点: 1.创建和启动线程 2.实现线程调度 3.实现线程同步 4.实现线程通信 1.为什么要学习多线程? 当多个人访问电脑上同一资源的时候,要用到多线程,让每个人感觉很多电脑同时为多个人服 ...

  3. java中三种for循环之间的对比

    普通for循环语法: for (int i = 0; i < integers.length; i++) { System.out.println(intergers[i]); } foreac ...

  4. 转:区块链开发(一)搭建基于以太坊go-ethereum的私有链环境

    区块链开发(一)搭建基于以太坊go-ethereum的私有链环境 wo541075754 · 2016-11-07 13:00:03 · 3730 次点击 · 预计阅读时间 3 分钟 · 约1小时前  ...

  5. 如何让classmethod只允许使用用类对象来调用

    Django REST framework里面有这样一段代码,在网上查@classonlymethod的意思是使得classmethod只允许使用用类对象来调用 @classonlymethod de ...

  6. c#程序退出

    Environment.Exit(0); Process.GetCurrentProcess().Kill();

  7. Java线程池管理及分布式Hadoop调度框架搭建

    平时的开发中线程是个少不了的东西,比如tomcat里的servlet就是线程,没有线程我们如何提供多用户访问呢?不过很多刚开始接触线程的开发工程师却在这个上面吃了不少苦头. 怎么做一套简便的线程开发模 ...

  8. mac下面 ,启动2个桌面版appium的方法

    分别打开2个终端,分别输入 appium 就可以分别起2个appium桌面版,然后设置端口 即可 参考: https://blog.csdn.net/qq_15283475/article/detai ...

  9. 云中树莓派(2):将传感器数据上传到 AWS IoT 并利用Kibana进行展示

    云中树莓派(1):环境准备 云中树莓派(2):将传感器数据上传到AWS IoT 并利用Kibana进行展示 1. 传感器安装及配置 1.1 DHT22 安装 DHT22 是一款温度与湿度传感器,它有3 ...

  10. [转][C#]TopSelf

    新建一个批处理,用于启动 TopSelf 服务 @echo off Service.exe install net start Service 或者简化成 @echo off Service.exe ...