• 【Jmeter基础】 Linux上运行Jmeter


    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用户使用)

  • 相关阅读:
    「AtCoder AGC023F」01 on Tree
    「Wallace 笔记」平面最近点对 解法汇总
    「Codeforces 1181E」A Story of One Country (Easy & Hard)
    「NOI2018」「LOJ #2720」「Luogu P4770」 你的名字
    IdentityServer4设置RefreshTokenExpiration=Sliding不生效的原因
    【知识点】IQueryable.SumAsync方法的NULL异常
    Beyond Compare 4 密钥被吊销
    【知识点】Uri对象的完整地址
    git文件夹大小写问题
    .Net Core学习资料
  • 原文地址:https://www.cnblogs.com/Ronaldo-HD/p/11448081.html
Copyright © 2020-2023  润新知