==========================
- 环境
db1:10.2.9.104
db2:10.2.9.105
db3:10.2.9.106
db4:10.2.9.107
- 分片环境测试 配置手顺
mkdir -p /data/test/config/db/
mkdir -p /data/test/config/log/
mkdir -p /data/test/mongos/log/
mkdir -p /data/test/shard1/db/
mkdir -p /data/test/shard1/log/
mkdir -p /data/test/shard2/db/
mkdir -p /data/test/shard2/log/
mongod --configsvr --dbpath /data/test/config/db --port 21000 --logpath /data/test/config/log/config.log --fork
mongos --configdb 10.2.9.104:21000,10.2.9.105:21000,10.2.9.106:21000 --port 20000 --logpath /data/test/mongos/log/mongos.log --fork
mongod --shardsvr --replSet repset1 --port 22001 --dbpath /data/test/shard1/db --logpath /data/test/shard1/log/shard1.log --fork --nojournal --oplogSize 10
mongod --shardsvr --replSet repset2 --port 22002 --dbpath /data/test/shard2/db --logpath /data/test/shard2/log/shard2.log --fork --nojournal --oplogSize 10
use admin
var config = { _id : "repset1" , members : [
{_id : 0 , host :"10.2.9.104:22001" , priority : 100},
{_id :1 , host :"10.2.9.105:22001" , priority : 90},
{_id :2 , host :"10.2.9.106:22001" , arbiterOnly: true},
{_id :3 , host :"10.2.9.107:22001" , priority:0, buildIndexes: false}
]};
rs.initiate(config);
use admin
var config = { _id : "repset2" , members : [
{_id : 0 , host : "10.2.9.104:22002" , priority : 100},
{_id :1 , host :"10.2.9.105:22002" , priority : 90},
{_id :2 , host :"10.2.9.106:22002" , arbiterOnly: true},
{_id :3 , host :"10.2.9.107:22002" , priority:0, buildIndexes: false}
]};
rs.initiate(config);
mongo 127.0.0.1:20000
db.runCommand({addshard : "repset1/10.2.9.104:22001,10.2.9.105:22001,10.2.9.106:22001,10.2.9.107:22001"});
db.runCommand({addshard : "repset2/10.2.9.104:22002,10.2.9.105:22002,10.2.9.106:22002,10.2.9.107:22002"});
db.runCommand( { listshards : 1 } );
- 测试Case
print("------- Case 1 -------");
db.metadata.embeddeds.drop();
db.users.drop();
db.documents.drop();
use admin;
db.runCommand({shardcollection:"test.documents",key:{_id:1}});
db.runCommand({shardcollection:"test.users",key:{_id:1}});
db.runCommand({shardcollection:"test.metadata.embeddeds",key:{_id:1}});
use test;
db.metadata.embeddeds.insert({referrer: {collection: 'documents', field: 'author', multi: false }, master: {collection: 'users', fields: ['name', 'age']}});
db.users.insert({"_id" : ObjectId("539c511fb2980377adc224cd"), name: 'sakurai', age: 42});
var now = new Date();
for ( var i = 0 ;i < 10000 ;i ++ ){
db.documents.insert({"_id" : 'id' + i , title: 'doc1' + i, author: {"_id" : ObjectId("539c511fb2980377adc224cd") }});
}
db.users.update({"_id" : ObjectId("539c511fb2980377adc224cd")}, {$set: {"name": 'sakurai13'}});
var finish = new Date();
var mis = finish.getTime() - now.getTime();
print(mis + "ms");
sleep(100);
- 测试结果
运行触发器 >
mongo 10.2.9.104:22001 < trigger.js
运行触发器 >mongo 10.2.9.104:22002 < trigger.js
运行测试case >mongo 10.2.9.104:20000 < test_case1.js
------- Case 1 -------
true
true
true
switched to db admin
{ "collectionsharded" : "test.documents", "ok" : 1 }
{ "collectionsharded" : "test.users", "ok" : 1 }
{ "collectionsharded" : "test.metadata.embeddeds", "ok" : 1 }
switched to db test
6779ms
null
bye
10.2.9.104 服务器查看结果
mongo 10.2.9.104:20000
db.users.stats();
{
"sharded" : true,
"systemFlags" : 1,
"userFlags" : 1,
"ns" : "test.users",
"count" : 1,
"numExtents" : 1,
"size" : 112,
"storageSize" : 8192,
"totalIndexSize" : 8176,
"indexSizes" : {
"_id_" : 8176
},
"avgObjSize" : 112,
"nindexes" : 1,
"nchunks" : 1,
"shards" : {
"repset1" : {
"ns" : "test.users",
"count" : 1,
"size" : 112,
"avgObjSize" : 112,
"storageSize" : 8192,
"numExtents" : 1,
"nindexes" : 1,
"lastExtentSize" : 8192,
"paddingFactor" : 1,
"systemFlags" : 1,
"userFlags" : 1,
"totalIndexSize" : 8176,
"indexSizes" : {
"_id_" : 8176
},
"ok" : 1
}
},
"ok" : 1
}
db.metadata.embeddeds.stats();
{
"sharded" : true,
"systemFlags" : 1,
"userFlags" : 1,
"ns" : "test.metadata.embeddeds",
"count" : 1,
"numExtents" : 1,
"size" : 240,
"storageSize" : 8192,
"totalIndexSize" : 8176,
"indexSizes" : {
"_id_" : 8176
},
"avgObjSize" : 240,
"nindexes" : 1,
"nchunks" : 1,
"shards" : {
"repset1" : {
"ns" : "test.metadata.embeddeds",
"count" : 1,
"size" : 240,
"avgObjSize" : 240,
"storageSize" : 8192,
"numExtents" : 1,
"nindexes" : 1,
"lastExtentSize" : 8192,
"paddingFactor" : 1,
"systemFlags" : 1,
"userFlags" : 1,
"totalIndexSize" : 8176,
"indexSizes" : {
"_id_" : 8176
},
"ok" : 1
}
},
"ok" : 1
}
db.documents.stats();
{
"sharded" : true,
"systemFlags" : 1,
"userFlags" : 1,
"ns" : "test.documents",
"count" : 10000,
"numExtents" : 6,
"size" : 1120000,
"storageSize" : 2801664,
"totalIndexSize" : 474208,
"indexSizes" : {
"_id_" : 474208
},
"avgObjSize" : 112,
"nindexes" : 1,
"nchunks" : 3,
"shards" : {
"repset1" : {
"ns" : "test.documents",
"count" : 9989,
"size" : 1118768,
"avgObjSize" : 112,
"storageSize" : 2793472,
"numExtents" : 5,
"nindexes" : 1,
"lastExtentSize" : 2097152,
"paddingFactor" : 1,
"systemFlags" : 1,
"userFlags" : 1,
"totalIndexSize" : 466032,
"indexSizes" : {
"_id_" : 466032
},
"ok" : 1
},
"repset2" : {
"ns" : "test.documents",
"count" : 11,
"size" : 1232,
"avgObjSize" : 112,
"storageSize" : 8192,
"numExtents" : 1,
"nindexes" : 1,
"lastExtentSize" : 8192,
"paddingFactor" : 1,
"systemFlags" : 1,
"userFlags" : 1,
"totalIndexSize" : 8176,
"indexSizes" : {
"_id_" : 8176
},
"ok" : 1
}
},
"ok" : 1
}
- 10.2.9.104 查看分片服务结果
mongo 10.2.9.104:22001 的结果
MongoDB shell version: 2.6.3
connecting to: 10.2.9.104:22001/test
{ "trigger" : "embeddeds", "time" : 420, "collection" : "test.users" }
mongo 10.2.9.104:22002 的结果
MongoDB shell version: 2.6.3
connecting to: 10.2.9.104:22002/test