准测试-jmeter压力测试activeMQ之一环境设置配备

jmeter压力测试activeMQ

摘要:linux(CentOS)单机activeMQ安装、window(2008Server)Jmeter配置activeMQ包、Jmeter配置linux监控

前言

     
搭建筑一个MongoDB的集群,这个环境单纯是内网的一个测试环境,分片没有选择可本集,配置并分配好端口后,开启集群的身份验证效能,在开启集群权限时,有些注意事项,在搭建过程被碰面首要标出。

一样、activeMQ环境设置配置

一律、集群规划

     
首首发出三高服务器分别吗192.168.0.230,192.168.0.232,192.168.0.234。集群规划如下:3单
用来分片,3单 mongos路由于劳动,3只 config配置服务器。

     注意:保证三雅服务器的端口是通的。

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方面就是设置好了。

控制台 http://ip:8161/admin 
 

控制台账号密码在  /app/env/activemq/conf/jetty-realm.properties
  里:

先是个是账号,第二单凡是密码,第三单凡是权限组

# username: password [,rolename …]

admin: admin, admin

user: user, user

申明的时自己直接当服务器上就此curl
http://localhost:8161/admin,再次来到401,本认为是没配好,有啊错,其实是为用用户称和密码,在匪输入往日即会如此,倘若直白以浏览器上看,是可的。

1.1端口分配

     
端口号分配处境,所有的分片都接纳27017端口,所有的安排都使用20000端口,所有的mongos路由于劳务还利用30000端口,每个服务器具体音讯如下:

表1-1 端口号分配表

 

192.168.0.230

192.168.0.232

192.168.0.234

mongos

30000

30000

30000

config

20000

20000

20000

sharing

27017

27017

27017

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.2集群整体规划图

 图片 1

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;

 

2.1 启动集群服务器

3)JMeter-plugins-manager 安装:

座落lib/ext目录下,然后又启JMeter,会当菜单-选项下多一个
Plugins Manager菜单,打开即可对插件举办安装、升级。

开辟 Plugins Manager
菜单,在可获取的插件列表中精选自己索要的插件举行安装。 

常用的凡:

插件名称

功能

Custom JMeter Functions

支持Base64加解密等多个函数的插件

PerfMon

监控服务器性能指标,CPU、内存、IO等

2.1.1 制造数据文件目录

230服务器分片1  
# mkdir –p /data/mongodb/config /data/mongodb/shard1_1
232服务器分片2  
# mkdir –p /data/mongodb/config  /data/mongodb/shard1_2
234服务器分片3  
# mkdir –p /data/mongodb/config  /data/mongodb/shard1_3

下一场依照顺序启动,分片服务器,配置服务器和路由服务器

3、jmeter,配置activeMQ

对JMS类型的山姆pler,需要额外的jar包,这里用底凡apache ActiveMQ,将刚刚安装到linux服务器被之apache-activemq-5.14.5根本目录下之activemq-all-5.5.0.jar拷贝到JMETER_HOME\lib目录下,重启jmeter即可。

2.1.2 启动分片服务

230服务器:
mongod --shardsvr --port 27017 --dbpath /data/mongodb/shard1_1 --logpath /data/mongodb/shard1_1/rs0.log --logappend --directoryperdb --fork
232服务器:
mongod --shardsvr --port 27017 --dbpath /data/mongodb/shard1_2 --logpath /data/mongodb/shard1_2/rs0.log --logappend --directoryperdb --fork
234服务器:
mongod --shardsvr --port 27017 --dbpath /data/mongodb/shard1_3 --logpath /data/mongodb/shard1_3/rs0.log --logappend --directoryperdb --fork

然后以三台服务器上分别启动配置服务器和路由服务器:

二、Jmeter监控环境设置配置

咱接下去就假若装PerfMon,用于监控正安装了ActiveMQ的linux服务器,但是自己所以的非是由此Plugins
Manager安装。

所用软件:

ServerAgent-2.2.1.zip

JMeterPlugins-Extras-1.1.2.zip、

JMeterPlugins-Standard-1.1.2.zip

设置步骤:

2.1.3 启动配置服务器

老三玉服务器分别执行:

mongod --configsvr --port 20000 --dbpath /data/mongodb/config --logpath /data/mongodb/config.log --logappend --directoryperdb –fork

1、linux安装PerfMon服务,

ServerAgent-2.2.1.zip解压后放到为测试的linux服务器上,并运./startAgent.sh,默认工作于4444端丁,检查linux上端口是否启动:netstat -apnt|grep 4444

2.1.4 启动路由于服务

老三贵服务器分别执行:

mongos --configdb 192.168.0.230:20000, 192.168.0.232:20000, 192.168.0.234:20000 --port=30000 --chunkSize=1 
--logpath=/data/mongogdb/mongos.log --logappend --fork

顾:这里指定了—chunkSize分片块大小也1M,默认为64M,是以可以再一次快之兑现分片。

2、Jmeter配置监控插件

把JMeterPlugins-Extras.jar/JMeterPlugins-Standard.jar放到Windows服务器,jmeter客户端的jmeter/lib/ext下。

初始jmeter,添加Listener时就可以看到不少表格@jc。(启动Jmeter,如果无报错,注解插件可用)

2.2 配置集群服务器

3、Jmeter报错:

初叶jmeter.bat的上,控制窗口报错,

2.2.1 配置分片

     
连接受任意服务器的路由服务30000端口,把三单分片服务器添加到集群配置中失:

 添加分片服务器

# mongo –port 30000
mongos> use admin
switched to db admin
mongos> db.runCommand({"addshard":"192.168.0.230:27017"})
mongos> db.runCommand({"addshard":"192.168.0.232:27017"})
mongos> db.runCommand({"addshard":"192.168.0.234:27017"})

前几日施行sh.status()就能观望集群的分片情况。分片环境既配备好,但还平素不开启集合的分片,接下测试一个集合的分片效用。

java.lang.NoSuchMethodError:org.apache.jmeter.samplers.SampleSaveConfiguration.setFormatter

故:由于jmeter3.2版本过强,jmeter3.1可以成功。setFormatter function exists in
Jmeter 3.1 。

2.2.2 激活并表达分片效用

   
 集合开启分片在此以前,需要选用一个片键来指定分片规则,片键的采纳直接影响多少分发的功效,关于片键的取舍策略,具体问题具体分析,后续会略收拾一下。

留意:分片片键必须是索引

激活数据库foo的分片功用,并将其中的bar集合遵照timestamp升序片键开启分片,操作如下:

# mongo –port 30000
mongos> sh.enableSharding("foo")
{ "ok" : 1 }
mongos> sh.shardCollection("foo.bar",{"timestamp":1})
{ "collectionsharded" : "foo.bar", "ok" : 1 }

此刻用sh.status()命令,就可以看到对应的集已经开了分片

mongos> for(var i=1; i<=500000;
i++){ db.bar.insert({“inc”:i, “timestamp”:new Date()}) }

向数据库被插50万数,使用sh.status()查阅数据现已都匀分布于逐个分片上。

三、Jmeter图形化脚本配置

 图片 2

图片 3

图片 4

 

其三、开启集群身份验证

     
默认情状下,MongoDB是匪启动访问控制的,对于单机情势下,只待于起步mongod劳动日常补充加–auth参数即可。不过当分片集群下只能动用keyfile的法门启动访问控制。

率先,生成一个keyfile文件,并拿此文件复制到任何服务器上。

# openssl rand -base64 741 > /data/mongodb/mongodb-keyfile
# chmod 600 mongodb-keyfile   重要

注意:于启用访问控制从前,要力保路由于劳动与每个分片服务器就是一个总指挥用户,用于添加用户和关闭集群使用。

添加用户为甚简单,分别并到3000和27017端口在admin数据库执行以下命令:

mongos> use admin
switched to db admin
mongos> db.createUser({user:"admin", pwd:"111111", roles:[{role: "root", db: "admin" }]})
Successfully added user: {
        "user" : "admin",
        "roles" : [
                {
                        "role" : "root",
                        "db" : "admin"
                }
        ]
}

     
接下去开启集群的访问控制,那里我道keyfile文件拷贝到了/data/mongodb/keyfile目录下,在开行每个服务时(分片服务,配置服务,路由于劳务)添加–keyFile
/data/mongodb/keyfile参数即可。

如启动路由服务时
mongos --configdb 192.168.0.230:20000, 192.168.0.232:20000, 192.168.0.234:20000 --port=30000 --chunkSize=1 --logpath=/data/mongogdb/mongos.log 
--logappend –fork --keyFile /data/mongodb/keyfile

然后以连年至集群时,操作前就是需要表明用户地方了,其中验证有少数种办法:

一如既往凡是以连续时举行认证:

mongo --port 30000 -u "admin" -p "111111" --authenticationDatabase "admin"

其次是于连年后展开表达:

# mongo --port 30000
mongos> use admin
switched to db admin
mongos>  db.auth("admin", "111111")

表达成功后哪怕得举行相应的操作了。

季、集众多被部分题目

1 关闭集群服务器

   
 关闭顺序以里程由于劳动,配置服务,分片服务,分别连接到相应端口的admin数据库,使用db.shutdownServer()关闭服务。假诺打开了身份验证,这里就是就此到了事先建好之admin用户

2 集群之一服务从无来

     
比如配置服务或者分片服务启动错误,可能是上次离不正规,这是足以采用修复数据,也可直接将数据文件中的mongod.lock文件去。

3 数据没有分片

     
首先保证集合开启了分片,然后查转config配置数据库中布局的chunkSize是略,是休是数量不够充足,最终查看转服务器的年华,倘若服务器的年华相差相比较充足,也相会促成分片败北,服务器时间不同最好保障以30秒中。

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注