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年,如有更新之处欢迎指出

猜你喜欢

转载自www.cnblogs.com/deeptester-vv/p/12619468.html