Balancer durumu, çalışma penceresi (activeWindow) ve koleksiyon bazında dengeleme
MongoDBShardingKomut
// Balancer acik mi, su an tur atiyor mu:
sh.getBalancerState()
db.adminCommand({ balancerStatus: 1 })
// Balancer'i yalnizca 01:00-05:00 arasinda calistir (mongos uzerinde):
db.getSiblingDB("config").settings.updateOne({ _id: "balancer" }, { $set: { activeWindow: { start: "01:00", stop: "05:00" } } }, { upsert: true })
// Pencereyi kaldir:
db.getSiblingDB("config").settings.updateOne({ _id: "balancer" }, { $unset: { activeWindow: true } })
// Tek bir koleksiyon icin dengelemeyi kapat / ac:
sh.disableBalancing("shop.musteri")
sh.enableBalancing("shop.musteri")
// Koleksiyonun dengeli olup olmadigi (4.4+):
db.adminCommand({ balancerCollectionStatus: "shop.musteri" })Ne yapar?
Balancer'ın açık olup olmadığını ve tur atıp atmadığını gösterir, chunk taşımalarını belirli saat aralığıyla sınırlar ve tek bir koleksiyonun dengelemesini kapatıp açar.
Ne zaman kullanılır?
Chunk migration'ların gün içi performansı etkilediği durumlarda, yedekleme penceresinde veya tek bir koleksiyonda migration sorununu izole ederken.
Dikkat
Pencere çok dar tutulursa veri büyüme hızına yetişemez ve shard'lar dengesizleşir; balancerCollectionStatus ile dengeyi düzenli kontrol et. Pencere dışında başlamış bir migration tamamlanana kadar sürer. Koleksiyon bazında kapatılan dengeleme unutulursa o koleksiyon tek shard'da büyümeye devam eder.