Bagaimana untuk defragment pangkalan data mongodb tanpa masa henti?
習慣沉默2017-05-02 09:22:51
0
1
745
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.
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.
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.