2016-01-26 1 views
1

Nous observons un équilibrage très lent dans notre cluster. Sur notre journal, il semble que les progrès de la migration fait à peine progrès:Mongodb équilibrage très lent

2016-01-25T22:21:15.907-0600 I SHARDING [conn142] moveChunk data transfer progress: { active: true, ns: "music.fav_artist_score", from: "rs1/MONGODB01-SRV:27017,MONGODB05-SRV:27017", min: { _id.u: -9159729253516193447 }, max: { _id.u: -9157438072680830290 }, shardKeyPattern: { _id.u: "hashed" }, state: "clone", counts: { cloned: 128, clonedBytes: 12419, catchup: 0, steady: 0 }, ok: 1.0 } my mem used: 0 
2016-01-25T22:21:16.932-0600 I SHARDING [conn142] moveChunk data transfer progress: { active: true, ns: "music.fav_artist_score", from: "rs1/MONGODB01-SRV:27017,MONGODB05-SRV:27017", min: { _id.u: -9159729253516193447 }, max: { _id.u: -9157438072680830290 }, shardKeyPattern: { _id.u: "hashed" }, state: "clone", counts: { cloned: 128, clonedBytes: 12419, catchup: 0, steady: 0 }, ok: 1.0 } my mem used: 0 
2016-01-25T22:21:17.957-0600 I SHARDING [conn142] moveChunk data transfer progress: { active: true, ns: "music.fav_artist_score", from: "rs1/MONGODB01-SRV:27017,MONGODB05-SRV:27017", min: { _id.u: -9159729253516193447 }, max: { _id.u: -9157438072680830290 }, shardKeyPattern: { _id.u: "hashed" }, state: "clone", counts: { cloned: 128, clonedBytes: 12419, catchup: 0, steady: 0 }, ok: 1.0 } my mem used: 0 

Aussi, quand nous Shard une nouvelle collection. Au départ, il commence seulement avec 8 blocs dans le même jeu de réplicas primaires. Il ne migre pas les fragments vers d'autres fragments

Notre configuration est de 4 réplicas de (configuration primaire, secondaire, arbitre) & 3 configs dans un jeu de réplicas. Les deux sh.getBalancerState() & sh.isBalancerRunning() renvoie true

Répondre

0

Dans MongoDB, les performances de partitionnement dépendent de la clé choisie pour partitionner la base de données. Depuis, vos morceaux sont toujours stockés sur un seul noeud, il est hautement probable que la clé de partition que vous avez choisie est en augmentant monotoniquement. Pour éviter ce problème, hachez la clé pour permettre un bon équilibre des morceaux sur tous les fragments. Utilisez la commande suivante pour le sharding haché.

sh.shardCollection("<your-db>", { <shard-key>: "hashed" })