我如何调试MongoDB慢块迁移?

时间:2016-11-08 18:48:41

标签: mongodb

我正在尝试在群集中移动块:

mongos>db.adminCommand({ moveChunk: "db.col", find: {_id: ObjectId("58171b29b9b4ebfb3e8b4e42")}, to: "shard_v2"});
  

{“millis”:428681,“ok”:1}

在日志中我看到以下记录:

  

2016-11-08T20:27:05.972 + 0300 I SHARDING [conn27] moveChunk migrate   TO-shard接受的提交:{active:false,ns:“db.col”,from:   “host:27017”,min:{_ id:ObjectId('58171b29b9b4ebfb3e8b4e42')},max:   {_id:ObjectId('58171f29b9b4eb31408b4b4c')},shardKeyPattern:{_ id:   1.0},状态:“完成”,cc,ok:1.0}

所以我在430秒内迁移了23MB的数据。这真的很慢。

我已经将一个示例文件上传到“主机”并且上传速度非常快(每秒7-8MB),所以我不认为是磁盘或网络问题(集群也没有任何负载(没有活动)查询))。还有什么我可以检查以提高块迁移性能?

1 个答案:

答案 0 :(得分:1)

性能肯定不受您的设置限制。可能是MongoDbs迁移策略试图不影响正常的数据库任务。

关于DBA堆栈交换这个问题有一个很好的答案:https://dba.stackexchange.com/questions/81545/mongodb-shard-chunk-migration-500gb-takes-13-days-is-this-slow-or-normal