不停机下,mongodb数据库碎片如何整理?
習慣沉默
習慣沉默 2017-05-02 09:22:51
0
1
725

我将mongo里面大量多余的数据都删除后,发现内存和文件并没有收缩,仍然占用大量内存和硬盘,性能变化不大,请问,mongodb怎么进行碎片整理?

習慣沉默
習慣沉默

répondre à tous(1)
洪涛

Quelle version de MongoDB et quel moteur ?
Les moteurs WT supérieurs à 3.2 peuvent utiliser Compact pour libérer de l'espace. Les versions précédentes, qu'elles soient WT ou MMAPv1, ne pouvaient libérer de l'espace qu'en resynchronisant le jeu de réplicas.
Le problème est qu'il n'est généralement pas nécessaire de le publier dans un environnement de production, car tôt ou tard il sera à nouveau occupé, et l'espace libre sera de toute façon réutilisé. Si vous ne manquez pas vraiment de cet espace, ne le faites pas. Je ne le libère pas.
Quant à savoir s'il s'agit d'un problème de temps d'arrêt, ce n'est pas seulement ce problème. La plupart du temps, des jeux de réplicas doivent être envisagés pour le résoudre. Plusieurs nœuds fonctionnent en parallèle pour se préparer à l'absence de temps d'arrêt. différence pour en supprimer un pour la maintenance. Le problème est que lorsque vous obtenez le nœud principal, il peut ne pas être accessible en écriture pendant quelques secondes.

En théorie, la récupération d'espace disque n'aura aucun impact bénéfique sur les performances. Cependant, un bug est survenu dans le moteur WiredTiger utilisé dans les versions 3.0.6 et 3.0.7. Lorsqu'un grand nombre de documents étaient supprimés, BTree avait un équilibre incorrect, entraînant une grave dégradation des performances. Pour plus de détails, veuillez vous référer au JIRA Ticket SERVER-21063.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!