Jmeter 是一个强大的并发压测工具,常用于性能测试,压力测试,接口测试等领域。本文将介绍如下内容:

1. Jmeter 执行阶梯式压测

2. Jmeter 如何压测网站的js,css 等资源

3. 在Linux 系统上如何执行Jmeter压测

一、使用Jmeter执行阶梯式压测

启动jmeter,添加线程组——jp@gc - Stepping Thread Group,如下图:

Stepping Thread Group界面如下:

功能如下:

This group will start 100 threads:设置线程组启动的线程总数为100个;

First,wait for N seconds:启动第一个线程之前,需要等待N秒;

Then start N threads:设置最开始时启动N个线程;

Next,add 10 threads every 30 seconds,using ramp-up 5 seconds:每隔30秒,在5秒内启动10个线程;

Then hold load for 60 seconds:启动的线程总数达到最大值之后,再持续运行60秒;

Finally,stop 5 threads every 1 seconds:每秒停止5个线程;

二、如何使用Jmeter 压测网站的JS,CSS等非Http接口的资源

这里建议使用浏览器录制的方式。

最好使用firefox进行录制操作,试过使用chrome,会有未知错误。

1.添加代理服务器

点击 “工作台”,然后右键,根据如下图步骤,添加一个代理服务器。

添加之后,界面如下图

注意上面端口号我用红圈给标注出来,下面的步骤我们就需要利用这个端口来录制,接下来会使用端口和目标控制器来管理录制脚本。

2.浏览器设置代理

打开火狐浏览器,找到高级-网络-设置-设置代理。

下面我们设置填写 localhost 和端口8082

上面除了可以写localhost,还可以输入127.0.0.1,这里我设置端口成8082,点击确定,浏览器不要关闭。

3.添加逻辑控制器

在 工作台 下点击前面添加的代理服务器,右键,点击添加,添加一个逻辑控制器下的录制控制器。

添加完是这样的,我们可以给这个录制控制器重命名下,例如我们录制百度,那么我们就写百度新闻(BaiDu_News),待会录制首页点击新闻链接。

点击HTTP代理服务器,切换到代理服务器配置界面,修改以下两处红圈位置。

第一个是端口号,和我们在火狐浏览器里面设置的端口保持一致,第二个是选择我们百度新闻这个录制控制器,也就是说,接下来我们录制的脚本都是在百度首页点击新闻。注意到这个页面还有一个启动和停止录制的按钮,接下来介绍。

4.启动录制脚本

点击代理服务器右侧里面的启动录制按钮,弹出一个根证书的弹窗,点击确定。

我们开始手动在火狐浏览器地址栏手动输入www.baidu.com,等页面加载完成,,然后点击展开BaiDu_News这个录制控制器,可以看到很多请求,包括js,css,gif等等

注意:可能在录制点击新闻过程中,出现“代理服务器拒绝连接”的错误。一般来说,因为你设置了代理,只有JMeter没有启动录制,你直接在火狐浏览器操作点击新闻,应该会报这个错误。但是录制过程中也有可能,这个就是JMeter代理录制脚本不稳定性的一面。

三、Linux 上启用Jmeter 执行压测

通过上面的一二两步,已经可以完成脚本部分的制作。一般的测试压力机是使用linux服务器,那么需要进入linux环境进行操作。

1. 安装jdk

下载一个适合你的linux版本的jdk,区分64位和32位,如下,执行解压操作
建议复制文件从windows到linux 使用WinSCP,还挺方便
1. 解压
tar -xvf jdk-10-linux-x64.tar.gz
2. vi /etc/profile  
编辑文件,添加如下的内容到行尾,注意你的jdk解压的位置是: java_home
JAVA_HOME=/usr/cmq/jdk1.8.0_11
JRE_HOME=${JAVA_HOME}/jre
CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JRE_HOME}/lib/tools.jar
PATH=${JAVA_HOME}/bin:$PATH
export JAVA_HOME JRE_HOME CLASS_PATH PATH

3. source /etc/profile

4. java -version
成功显示java版本表示成功。

2. 安装Jmeter

1. 复制jmeter 压缩包或者文件夹到linux系统

2. vi /etc/profile
export JMETER_HOME=/usr/apache-jmeter-3.3
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH

3. source /etc/profile 4. jmeter -v
5. chmod 777 jmeter文件路径
6.输入命令:# jmeter -n -t /usr/src/step2.jmx -l log.jtl 执行脚本 7. 注意,一般jmeter的默认内存值是512M, 如果并发数高,运行直接报错内存溢出,需要配置内存上下限,有两种方式: 命令方式
java $JVM_ARGS -Xms1G -Xmx5G -XX:MaxPermSize=8192m -Dapple.laf.useScreenMenuBar=true -jar `dirname $0`/usr/apache-jmeter-3.3/bin/jmeter "$@"
直接vi 编辑

3. 常用的linux测试命令

1. 执行jmeter脚本的时候,如何中断?

另外启动一个连接,然后:

ps aux|grep jmeter
kill -9 XXX

查看1099端口是否被占用

netstat -ano | findstr "1099"
tasklist | findstr "1099"

查看linux机器的内存,用于你设置jmeter的内存大小。

#cat /proc/meminfo | grep MemTotal

shutdown -r now 立刻重启(root用户使用)

【Jmeter基础】 Linux上运行Jmeter的更多相关文章

  1. jmeter在linux上运行

    若需在linux操作系统上运行jmeter,则需要以命令行的形式运行. 前提条件:linux环境下配置好jdk.jmeter的环境变量等. 1.首先在Windows的图形化界面做好脚本,设置好并发用户 ...

  2. Jmeter在linux上运行(命令行运行Jmeter)

    1.下载安装 http://jmeter.apache.org/download_jmeter.cgi Jmeter官网下载 linux下应使用tgz包,下载  Binaries apache-jme ...

  3. Linux上运行Jmeter

    上传jmeter到Linux服务器 unzip解压 配置环境变量vi /etc/profile: export PATH=/tmp/apache-jmeter-3.0/bin/:$PATH 刷新环境变 ...

  4. jmeter操作数据库,分布式,在Linux上运行

    jmeter操作数据库: 1.在测试计划中导入数据库jar包 2.添加链接数据库信息 3.mysql:jdc:mysql://192.168.1.116:3307/bugfree?allowMulti ...

  5. 【JMeter】JMeter在linux下运行

    之前在用JMeter做性能测试时基本都用自己的笔记本电脑. 考虑到网络传输和占用系统资源情况时进行了以下分析: 1 在笔记本上,开始-cmd "ping 服务器",得到传输时间.在 ...

  6. Linux平台运行jmeter

    这篇博客介绍 jmeter 在 Linux 环境进行压测,大致流程是 在 window上编辑好测试脚本,然后拷贝到 Linux上运行,再把 Linux上的运行结果拿到 windows 的 jmeter ...

  7. Linux下运行jmeter

    • 我们在做测试的时候,有时候要运行很久,公司用的测试服务器一般都是linux,就可以运行在linux下面,linux下面不能像windows一样有图形化界面,那怎么运行脚本呢,就先在windows上 ...

  8. Jmeter分布式及在Linux上执行jmeter脚本

    Jmeter分布式 主控机即自己的电脑,控制并发数 压力机即别人的机器,和主控机一起添加压力 1.其他的压力机需要启动Jmeter-server.bat 启动成功页面 2.主控机的Jmeter 的bi ...

  9. 在linux下运行jmeter

    之前在用JMeter做性能测试时基本都用自己的笔记本电脑. 考虑到网络传输和占用系统资源情况时进行了以下分析: 1 在笔记本上,开始-cmd "ping 服务器",得到传输时间.在 ...

随机推荐

  1. 操作系统 - Linux命令整理 - Ubuntu

    镜像 http://mirrors.163.com/ubuntu-releases/ 系统相关 Ubuntu14.04相关 安装 - VMware Install Ubuntu Continue In ...

  2. 《JAVA设计模式》之命令模式(Command)

    在阎宏博士的<JAVA与模式>一书中开头是这样描述命令(Command)模式的: 命令模式属于对象的行为模式.命令模式又称为行动(Action)模式或交易(Transaction)模式. ...

  3. 中标麒麟V6.0安装 mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

    在中标麒麟6.0上安装mysql, 1.先从官网(https://dev.mysql.com/downloads/mysql/5.7.html#downloads)下载 . 我的选择如上图. 2.下载 ...

  4. CSU 1092 Barricade

    1092: Barricade Time Limit: 1 Sec  Memory Limit: 32 MBSubmit: 240  Solved: 71[Submit][Status][Web Bo ...

  5. Helm教程

    1.概述 Helm是k8s的包管理工具,类似Linux系统常用的 apt.yum等包管理工具. 使用helm可以简化k8s应用部署 2.基本概念 Chart:一个 Helm 包,其中包含了运行一个应用 ...

  6. 【问题解决方案】git中的文件的重命名

    环境: win7 git bash+GitHub 问题: 如果直接在文件夹中手动重命名,Git会判定为删除了旧文件,添加了新文件 版本回退后使用mv命令进行重命名 $ git reset --hard ...

  7. 源码分析--HashMap(JDK1.8)

    在JDK1.8中对HashMap的底层实现做了修改.本篇对HashMap源码从核心成员变量到常用方法进行分析. HashMap数据结构如下: 先看成员变量: 1.底层存放数据的是Node<K,V ...

  8. 使用纯php构建一个简单的PHP服务器

    使用原生PHP构建一个简单的PHPWeb服务器 1.目录机构 webserver --src -- Response.php -- Server.php -- Request.php -- vendo ...

  9. Windows 下 MySQL 备份脚本

    @title MySQL备份脚本 @echo off @echo root@127.0.0.1:3306 set host=127.0.0.1 set port=3306 set user=root ...

  10. jieba库的使用

    jieba库的使用 jeiba库是一款很优秀的用于中文分词的第三方库,它通过一个汉词词典来确定汉字之间的关联概率,将概率较大的组成分词. 精准模式 把文本精准的分割开来,不存在冗余单词. jieba. ...