注:mongo实例 没有用副本集 直接用的mongod
-
搭建环境
目录 : /data/db
cd /data/db
mkdir 10001 20001 27017 27018 keyfile
10001 config配置目录
20001 mongos配置目录
27017 mongod 实例配置目录
27018 mongod 实例配置目录
keyfile 放openssl生成的key1. 启动mongoldb config /data/home/user00/playcrab/usr/mongodb/bin/mongod --smallfiles --fork --port 10001 --dbpath=10001 --logpath=10001/mongo.log --configsvr 2.启动mongoldb mongos /data/home/user00/playcrab/usr/mongodb/bin/mongos --fork --port 20001 --logpath=20001/mongo.log --configdb=192.168.5.207:10001 3.启动mongoldb mongo /data/home/user00/playcrab/usr/mongodb/bin/mongod --fork --port 27017 --logpath=27017/mongo.log --dbpath=27017 /data/home/user00/playcrab/usr/mongodb/bin/mongod --fork --port 27018 --logpath=27018/mongo.log --dbpath=27018/ 进入mongos 创建管理权限 /data/home/user00/playcrab/usr/mongodb/bin/mongo 192.168.5.207:20001 命令 db.createUser({user:"qxy",pwd:"qxy",roles:[{role:"root",db:"admin"}]}) db.createUser({user:”testUser",pwd:"testUser", roles: [{role:"readWrite",db:”war_9991"}]}) 进入两个mongo 创建管理权限 /data/home/user00/playcrab/usr/mongodb/bin/mongo 192.168.100.7:27017 db.createUser({user:"qxy",pwd:"qxy",roles:[{role:"root",db:"admin"}]}) db.createUser({user:”testUser",pwd:"testUser", roles: [{role:"readWrite",db:”war_9991"}]}) /data/home/user00/playcrab/usr/mongodb/bin/mongo 192.168.100.7:27018 db.createUser({user:"qxy",pwd:"qxy",roles:[{role:"root",db:"admin"}]}) db.createUser({user:”testUser2",pwd:"testUser2", roles: [{role:"readWrite",db:”war_9992"}]}) 将mongod,mongos 进程全部杀掉 开启鉴权 openssl rand -base64 755 > keyfile/mongodb-keyfile chmod 600 keyfile/mongodb-keyfile 启动开启鉴权的命令 /data/home/user00/playcrab/usr/mongodb/bin/mongod --smallfiles --fork --port 10001 --dbpath=10001 --logpath=10001/mongo.log --configsvr --keyFile=keyfile/mongodb-keyfile --auth /data/home/user00/playcrab/usr/mongodb/bin/mongos --fork --port 20001 --logpath=20001/mongo.log --configdb=192.168.5.207:10001 --keyFile=keyfile/mongodb-keyfile /data/home/user00/playcrab/usr/mongodb/bin/mongod --fork --port 27017 --logpath=27017/mongo.log --dbpath=27017 --keyFile=keyfile/mongodb-keyfile /data/home/user00/playcrab/usr/mongodb/bin/mongod --fork --port 27018 --logpath=27018/mongo.log --dbpath=27018 --keyFile=keyfile/mongodb-keyfile 命令行连接: /data/home/user00/playcrab/usr/mongodb/bin/mongo 192.168.5.207:20001 -uqxy -pqxy --authenticationDatabase admin
测试:
两台机器 php-fpm各开500个进程 192.168.100.6 192.168.100.7
8.php程序文件 里面执行的程序是 对数据库读一次写一次
通过ab压测
压测直连mongo
ab -c 2000 -n 2000 http://192.168.100.6:8001/demo/8.php 连续压测3次 300左右处理
压测连接mongos
ab -c 2000 -n 2000 http://192.168.100.7:8001/demo/8.php 连续压测3次 600左右测试
正常2台机器的所有php-fpm去连接mongos 下面的连接数
mongos的连接数
mongod的连接数
在高并发的压测下
mongos的连接数
mongod的连接数 反复压测 这个值不变的
20分钟左右,mongod的连接数 会降下去