cari

Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk defragment pangkalan data mongodb tanpa masa henti?

Selepas saya memadamkan sejumlah besar data berlebihan dalam mongo, saya mendapati bahawa memori dan fail tidak mengecut mereka masih menggunakan banyak memori dan cakera keras, dan prestasi tidak banyak berubah.

習慣沉默習慣沉默2789 hari yang lalu763

membalas semua(1)saya akan balas

  • PHP中文网

    PHP中文网2017-05-02 09:24:51

    Apakah versi MongoDB dan enjin apa?
    Enjin WT di atas 3.2 boleh menggunakan Compact untuk mengosongkan ruang versi sebelumnya, sama ada WT atau MMAPv1, hanya boleh mengosongkan ruang dengan menyegerakkan semula set replika.
    Masalahnya adalah secara amnya tidak perlu mengeluarkannya dalam persekitaran pengeluaran, kerana lambat laun ia akan diduduki semula, dan ruang kosong akan digunakan semula jika anda tidak benar-benar kekurangan ruang itu jangan lepaskannya.
    Mengenai sama ada masalah masa henti, bukan sahaja masalah ini, set replika harus dipertimbangkan untuk menyelesaikannya secara selari untuk bersedia tanpa masa henti Perbezaan untuk mengeluarkan satu untuk penyelenggaraan Masalahnya ialah, apabila anda mendapat nod utama, ia mungkin tidak boleh ditulis selama beberapa saat.

    Secara teorinya, menuntut semula ruang cakera tidak akan mempunyai sebarang kesan yang baik terhadap prestasi. Walau bagaimanapun, pepijat berlaku dalam enjin WiredTiger yang digunakan dalam 3.0.6 dan 3.0.7 Apabila sejumlah besar dokumen dipadamkan, BTree akan mempunyai baki yang tidak betul, mengakibatkan kemerosotan prestasi yang serius. Untuk butiran, sila rujuk JIRA Tiket SERVER-21063.

    balas
    0
  • Batalbalas