レプリカセットの新しいメンバーには、レプリカセットと完全に同期するため、断片化が発生しないという利点があります。既存のレプリカーゼには、ドキュメントの移動による削除やドキュメントの更新が原因で断片化が発生している可能性があります。
私たちの環境では、定期的にreplsetの各メンバーをオフラインにし、そのデータディレクトリを破壊し、完全に同期させて断片化を排除します。それは私たちのために機能しますが、私たちのデータセットは他の展開に比べて「小さい」可能性があります。 db.runCommandを使用してコンソールからこれを行う方法があると思いますが、それが何であるかわかりません。