一、测试环境部署:
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分钟,以回收。因此,如果你在很短的时间内做了很多的连接,你
可以很容易地吃到这个端口范围。
解决方法:
- 启动注册表编辑器。
- 在注册表中找到以下子项,然后单击参数:
HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services Tcpip Parameters - 在编辑菜单上,单击新建,然后添加以下注册表项:
- 退出注册表编辑器,然后重新启动计算机。
错误三:
持续更新中。。。毕竟我运气那么好,总能把每个坑都踩一遍
该文档为作者编辑于2017年,如有更新之处欢迎指出