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

写在前面:

因为工作需要,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. oracle误删数据

    表名:SYS_MENU alter table SYS_MENU enable row movementflashback table SYS_MENU to timestamp to_timesta ...

  2. ML: 降维算法-LDA

    判别分析(discriminant analysis)是一种分类技术.它通过一个已知类别的“训练样本”来建立判别准则,并通过预测变量来为未知类别的数据进行分类.判别分析的方法大体上有三类,即Fishe ...

  3. elixir环境配置

    mac下 brew install elixir debian下版本可能太低,需要kiex 安装 curl -sSL https://raw.githubusercontent.com/taylor/ ...

  4. java锁在等待唤醒机制中作用

    等待的线程放在线程池wait().notify().notifyall()都使用在同步中,因为要对持有监视器(锁)的线程操作.所以要使用在同步中,因为只有同步才具有锁. 为什么这些操作的线程的方法要定 ...

  5. pdo连接数据

    <?php //1.操作其它数据库//2.事务功能//3.防止SQL注入攻击 //造PDO对象//$dsn = "mysql:dbname=mydb;host=localhost&qu ...

  6. 使用R语言-计算均值,方差等

    R语言对于数值计算很方便,最近用到了计算方差,标准差的功能,特记录. 数据准备 height <- c(6.00, 5.92, 5.58, 5.92) 1 计算均值 mean(height) [ ...

  7. 阿里云服务器 ECS Linux SWAP 配置概要说明

    SWAP 简介 Linux 中的 SWAP(交换分区),类似于 Windows 的虚拟内存.系统会把一部分硬盘空间虚拟成内存使用,将系统内非活动内存换页到 SWAP,以提高系统可用内存. 注:参阅 E ...

  8. 数据库SQL语言学习--上机练习3(插入 更新 删除)

    上机练习3 . 将一个新学生记录(学号::姓名:陈冬:性别:男:所在系:信息系:年龄:20岁)插入到Student表中: ALTER TABLE Student ,); UPDATE Student ...

  9. python报错'str' object is not callable

    >>> x=1.235 >>> int(x) 1 >>> str="fsgavfdbafdbntsbgbt" >> ...

  10. [UE4]最简单的虚幻4网络游戏,使用虚幻4内置服务器

    一.设置游戏窗口合适的大小 二.在新窗口中运行游戏.玩家数量改成大于1.   三.运行游戏就会打开多个窗口 在打包完成的游戏中进行网络游戏: 一.虚幻4打包好的文件是放在WindowsNoEditor ...