jmeter压力测试activeMQ
摘要:linux(CentOS)单机activeMQ安装、window(2008Server)Jmeter配置activeMQ包、Jmeter配置linux监控
一、activeMQ环境安装配置
1、单机activeMQ安装(linux(CentOS))
服务器的情况是已经经过公司运维人员初始化,否则原始服务器的cpu核数都不对,这几台服务器之前安装过apache+php。
这次的activeMQ用公司wiki上的标准化配置,过程为下载JDK 和 ActiveMq软件,解压,修改 activemq/bin/env,文件配置JAVA_HOME 和ACTIVEMQ_USER,链接/app/env/activemq/bin/activemq 到/etc/init.d/activemq 。
安装目录: /app/env/
启动用户: appuser
安装脚本:
sudo mkdir -p /app/env
sudo chown appuser:appuser /app/env
cd /app/env
Wget https://dev-cv.saicmotor.com/mirrors/software/c2b/jdk-8u60-linux-x64.gz
wget https://dev-cv.saicmotor.com/mirrors/software/c2b/apache-activemq-5.14.5-bin.tar.gz
tar -zxvf apache-activemq-5.14.5-bin.tar.gz
tar -zxvf jdk-8u60-linux-x64.gz
rm apache-activemq-5.14.5-bin.tar.gz
rm jdk-8u60-linux-x64.gz
ln -s /app/env/apache-activemq-5.14.5 /app/env/activemq
ln -s /app/env/jdk1.8.0_60 /app/env/jdk1.8
sed -i "/^[ \t]*JAVA_HOME=.*$/s/^/#/g" /app/env/activemq/bin/env
sed -i "\$a JAVA_HOME=/app/env/jdk1.8" /app/env/activemq/bin/env
sed -i "s/^[ \t]*ACTIVEMQ_USER=.*$/ACTIVEMQ_USER=\"appuser\"/g" /app/env/activemq/bin/env
sudo ln -s /app/env/activemq/bin/activemq /etc/init.d/activemq
PS:注意有时候安装activeMQ之前已经安装好了jdk这个java环境,那上面的JAVA_HOME就要根据真实的jdk地址改一下,这里增加以下配置jdk(JAVA环境)的方法,
安装好jdk后,编辑系统环境变量 :
sudo chmod 777 /etc/profile
vi /etc/profile
输入i
加入内容如下:
export JAVA_HOME=/app/env/jdk1.8
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
ESC后,:wq!
sudo chmod 644 /etc/profile
然后source profile使之生效,可以java -version验证
至此,linux方面就安装好了。
控制台账号密码在 /app/env/activemq/conf/jetty-realm.properties 里:
第一个是账号,第二个是密码,第三个是权限组
# username: password [,rolename ...] admin: admin, admin user: user, user |
验证的时候我一直在服务器上用curl http://localhost:8161/admin,返回401,本以为是没配好,有什么错误,其实是因为需要用户名和密码,在未输入之前就会这样,如果直接在浏览器*问,是可以的。
2、安装jmeter(Windows(Server2008))
首先跟运维人员申请的windows服务器和linux服务器是同一ip段的,网络是通的,防火墙均关闭。
所用软件:
apache-jmeter-3.1.zip
jdk-8u144-windows-x64.exe
jmeter-plugins-manager-0.15.jar
最开始我用的是jmeter3.2,后来涉及监控的时候版本不支持,改用3.1就好了,稍后安装监控的时候再说。
下载地址:
JMeter32:http://JMeter.apache.org/download_JMeter.cgi
JDK:用eclipse的建议安装oracle版本的
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
JMeter-plugins-manager:https://JMeter-plugins.org/downloads/all/
1)Java 8 安装:
设置环境变量
变量名: JAVA_HOME
变量值: C:\Program Files\Java\jdk1.8.0_91 (即jdk安装的位置)
变量名: Path (这个变量名已在系统变量中存在,现只需在这个值的后面添加以下变量值就可以了)
变量值: ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
变量名: CLASSPATH
变量值:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
(记住前面的.)
打开cmd,输入java -version 回车,如果输出版本信息则安装成功,提示不是内部或外部命令则表示没有安装成功,可自行百度解决。
2)安装JMeter32:
由于此软件是绿色版本,所以可解压在任意位置使用,解压后打开JMeter目录,进入bin目录下,右键JMeter.bat发送到桌面快捷方式。
设置环境变量
变量名: JMeter_HOME
变量值: C:\Program Files\apache-JMeter-3.1
变量名: Path (在后面添加以下变量值)
变量值: ;%JMeter_HOME%\bin;
变量名: CLASSPATH
变量值:
%JMeter_HOME%\lib\ext\ApacheJMeter_core.jar;%JMeter_HOME%\lib\jorphan.jar;
3)JMeter-plugins-manager 安装:
放在lib/ext目录下,然后重启JMeter,会在菜单-选项下多一个 Plugins Manager菜单,打开即可对插件进行安装、升级。
打开 Plugins Manager 菜单,在可获得的插件列表中选择自己需要的插件进行安装。
常用的是:
插件名称 |
功能 |
Custom JMeter Functions |
支持Base64加解密等多个函数的插件 |
PerfMon |
监控服务器性能指标,CPU、内存、IO等 |
3、jmeter,配置activeMQ
针对JMS类型的Sampler,需要额外的jar包,这里用的是apache ActiveMQ,将刚刚安装到linux服务器中的apache-activemq-5.14.5根目录下的activemq-all-5.5.0.jar拷贝到JMETER_HOME\lib目录下,重启jmeter即可。
二、Jmeter监控环境安装配置
我们接下来就要安装PerfMon,用于监控刚刚安装了ActiveMQ的linux服务器,不过我用的不是通过Plugins Manager安装。
所用软件:
ServerAgent-2.2.1.zip
JMeterPlugins-Extras-1.1.2.zip、
JMeterPlugins-Standard-1.1.2.zip
安装步骤:
1、linux安装PerfMon服务,
ServerAgent-2.2.1.zip解压后放到被测试的linux服务器上,并运./startAgent.sh,默认工作在4444端口,检查linux上端口是否启动:netstat -apnt|grep 4444
2、Jmeter配置监控插件
把JMeterPlugins-Extras.jar/JMeterPlugins-Standard.jar放到Windows服务器,jmeter客户端的jmeter/lib/ext下。
启动jmeter,添加Listener时就可以看到很多报表@jc。(启动Jmeter,如果没有报错,证明插件可用)
3、Jmeter报错:
启动jmeter.bat的时候,控制窗口报错,
java.lang.NoSuchMethodError:org.apache.jmeter.samplers.SampleSaveConfiguration.setFormatter
原因:由于jmeter3.2版本过高,jmeter3.1可以成功。setFormatter function exists in Jmeter 3.1 。