与知名网站互连,wordpress默认主题位置,学校让做网站做完怎么交,网站建设贵https://www.cnblogs.com/abclife/p/15968628.html
根据这篇文档中的脚本#xff0c;在我们自己的环境中跑了下#xff0c;第一次跑的结果如下#xff1a; 运行完上面跑出的split脚本后#xff0c;还是存在jumbo块#xff0c;第二次跑出的结果#xff1a; 从上面结果可以…https://www.cnblogs.com/abclife/p/15968628.html
根据这篇文档中的脚本在我们自己的环境中跑了下第一次跑的结果如下 运行完上面跑出的split脚本后还是存在jumbo块第二次跑出的结果 从上面结果可以看出chunks的数量增加了但jumbo chunks的数量没有减少很多。
也和阿里云后台沟通jumbo chunk不能分裂的原因
因为大部分jumbo chunk是相同shard key组成的所以无法继续分割。
不知道有没有通过这种方法分割成功的案例。
具体运行脚本如下
1、使用以下脚本找出未被检测到的Jumbo块并生成相关命令 var allChunkInfo function(ns){ var chunks db.getSiblingDB(config).chunks.find({ns : ns}).sort({min:1}).noCursorTimeout(); //this will return all chunks for the ns ordered by min var totalChunks 0; var totalJumbo 0; var totalSize 0; var totalEmpty 0; chunks.forEach( function printChunkInfo(chunk) { var db1 db.getSiblingDB(chunk.ns.split(.)[0]) // get the database we will be running the command against later var key db.getSiblingDB(config).collections.findOne({_id:chunk.ns}).key; // will need this for the dataSize call // dataSize returns the info we need on the data, but using the estimate option to use counts is less intensive var dataSizeResult db1.runCommand({datasize:chunk.ns, keyPattern:key, min:chunk.min, max:chunk.max, estimate:false}); if(dataSizeResult.size 67108864) { totalJumbo; print(sh.splitFind( chunk.ns.toString() , JSON.stringify(chunk.min) ) // chunk.shard Math.round(dataSizeResult.size/1024/1024) MB dataSizeResult.numObjects ); } totalSize dataSizeResult.size; totalChunks; if (dataSizeResult.size 0) { totalEmpty }; //count empty chunks for summary } ) print(***********Summary Chunk Information***********); print(Total Chunks: totalChunks); print(Total Jumbo Chunks: totalJumbo); print(Average Chunk Size (Mbytes): (totalSize/totalChunks/1024/1024)); print(Empty Chunks: totalEmpty); print(Average Chunk Size (non-empty): (totalSize/(totalChunks-totalEmpty)/1024/1024)); } 2、脚本必须通过mongos router进行调用 mongos allChunkInfo(db.test_col) 3、 生成如下结果 sh.splitFind(db.test_col, {_id:jhxT2neuI5fB4o4KBIASK1}) // shard-1 222 MB 7970 sh.splitFind(db.test_col, {_id:zrAESqSZjnpnMI23oh5JZD}) // shard-2 226 MB 7988 sh.splitFind(db.test_col, {_id:SgkCkfSDrY789e9nD4crk9}) // shard-1 218 MB 7986 sh.splitFind(db.test_col, {_id:X5MKEH4j32OhmAhY7LGPMm}) // shard-1 238 MB 8338 ... ***********Summary Chunk Information*********** Total Chunks: 5047 Total Jumbo Chunks: 120 Average Chunk Size (Mbytes): 19.29779934868946 Empty Chunks: 1107 Average Chunk Size (non-empty): 24.719795257064895 4、运行上一步骤的split命令
备注阿里云分片集群介绍
什么是MongoDB分片集群_云数据库 MongoDB 版(MongoDB)-阿里云帮助中心