• jmeter分布式并发操作步骤


    一、测试环境部署:

    1、硬件环境

    • 应用服务器   数量:2台

    配置:8核  28G内存 Ø

    • 数据库服务器  数量:2台    

    配置:8核  56G内存  Ø

    • 测试客户端  数量:1台    

    配置:4核  28G内存  

    2、软件环境:

    • 操作系统:Windows Server2016 ,linux  Ø
    • 数据库: MySQL redis
    • 支持包:JDK1.8 ,Apach Jmeter3.3

    注:这里需要特别说明的是Jmeter对环境的要求比较高,安装前最好先确认好你测试服务机的配置,再要运行jmeter的机器上安装JDK和jmeter,这两个软件的版本不论在windows系统上还是linux系统上最好保持一至,笔者用的jmeter3.3,这个版本需要JDK1.8以上的版本才能支持,不然报你版本太low

    二、修改系统环境变量

    1、切换用户权限至root才能修改系统环境变量

     

    2、添加环境变量:

    JAVA_HOME=/opt/jdk1.8.0_152

    PATH=$JAVA_HOME/bin:$PATH

    CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    export JAVA_HOME

    export PATH

    export CLASSPATH

    export JMETER=/opt/apache-jmeter-3.3

    export PATH=$JMETER/bin:$PATH

    export CLASSPATH=$JMETER/lib/ext/ApacheJMeter_core.jar:$JMETER/lib/jorphan.jar:$JMETER/lib/ logkit-2.0.jar:$CLASSPATH

    3、使环境变量立刻生效:

    Sudo -s

    Source /etc/profile

     

    4、检查是否安装成功:

    Java -version

    Jmeter -v

    出现以下字样说明安装成功,如没有,继续检查哪里出了问题:

     

    三、确认controller及agent机器

    笔者选择的windows系统作为我的controller,另外两台用的linux系统作为我的agent

    原因很简单,windows可视,可以在图形界面设计测试用例并保存在本地,然后再用命令行三台一起跑比较方便

    1、Controller机器设置:

    1) Jmeter.properties设置

    进入jmeter.properties编辑,/remote查找,n查找下一个,找到之后remote后添加远程服务器IP:端口号,再到远程服务器上放开server_port端口注释

    修改方式:由原来的127.0.0.1修改为

     

    2) Jmeter.bat的设置

    • set HEAP=-Xms512m -Xmx14336m,这里的HEAP指的堆值,最大设为你服务器物理内存的一半为佳
    • set rmi_host=-Djava.rmi.server.hostname=10.0.2.6,本机地址
    • Set ARGS=%DUMP% %HEAP% %NEW% %SURVIVOR% %TENURING% %PERM% %DDRAW% %rmi_host% %VERBOSE_GC% %GC_ALGO%  %SYSTEM_PROPS%

    %JM_START% %JM_LAUNCH% %ARGS% %JVM_ARGS% -jar "%JMETER_BIN%ApacheJMeter.jar" %JMETER_CMD_LINE_ARGS%,这个笔者也不是特别明白

     

    2、Agent机器设置:

    • 安装JDK1.8,Jmeter3.3
    • 进入jmeter.properties编辑,放开server-port端口

     

    • 修改jmeter-server文件:sudo vi jmeter-server,这里的rmi设置声明的是服务器自己的IP地址

     

     

    注:这里踩了个坑,ubuntu系统不能使用ctrl+v或+c功能,只好关掉重连,windows思维习惯的人伤不起,要习惯鼠标右健复制粘贴啊

    四、运行

    远程机上执行jmeter.server文件时如果用./jmeter-server一定会报错,修改方法:执行./jmeter-server -Djava.rmi.server.hostname=***.***.***.*

    五、笔者把踩到的坑整理了一下,规避这些错误可以节省不少时间

    错误一:

     

    对自己的机器自信满满,共28G内存,我就设了最大值:内存的一半,之后就一直报这样的错,jmter.bat都打不开,然后就慢慢缩小,4096还是太大,只能1024,终于起来了,心里默默骂了一句:WTF。。

    根本原因:windows版jdk是32位的话最大值不能超过1500M,确切的说是1378M,否则就报上述错误,所以还是宠幸64位的去吧,设了14336M麻溜地跑起来了

    错误二:jmeter线程500以上时大量报这样的错误

     

    原因:Windows XP只会让使用端口1024-5000出站TCP / IP连接,最多需要4分钟,以回收。因此,如果你在很短的时间内做了很多的连接,你
    可以很容易地吃到这个端口范围。

    解决方法:

    1. 启动注册表编辑器
    2. 在注册表中找到以下子项,然后单击参数
      HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services Tcpip Parameters
    3. 编辑菜单上,单击新建,然后添加以下注册表项:

     

     

    1. 退出注册表编辑器,然后重新启动计算机。

    错误三:

     

    持续更新中。。。毕竟我运气那么好,总能把每个坑都踩一遍

     该文档为作者编辑于2017年,如有更新之处欢迎指出

    三十六般武艺,七十二般变化,修练出个人品牌并发出光芒
  • 相关阅读:
    leetcode刷题笔记九十八题 验证二叉搜索树
    leetcode刷题笔记九十七题 交错字符串
    leetcode刷题笔记九十六题 不同的二叉搜索树
    leetcode刷题笔记九十五题 不同的二叉搜索树II
    leetcode刷题笔记九十四题 二叉树的中序遍历
    leetcode刷题笔记九十三题 复原IP地址
    java 语句流程
    java byte/short/char补充(了解)
    Java反射机制demo(四)—获取一个类的父类和实现的接口
    AOP方法拦截获取参数上的注解
  • 原文地址:https://www.cnblogs.com/deeptester-vv/p/12619468.html
Copyright © 2020-2023  润新知