Couchdb
停止正在執行的壓縮過程
我需要在生產 CouchDB 實例上執行壓縮,該實例之前可能沒有執行過壓縮。
如果壓縮給 CouchDB 實例帶來過多的額外負載,是否可以安全地終止壓縮過程?如果是這樣,怎麼做?
在壓縮過程中,會寫入一個新的 .couch 文件。因此,當您中斷壓縮時,您會做什麼使文件無用。停止壓縮 (iirc) 的唯一方法是停止 CouchDB。不是一個好主意。
通常,compaction 是一個後台程序。數據庫讀取不受它的影響 - 也適用於大量讀取!如果您有繁重的寫入過程,則壓縮可能永遠不會結束,因為編寫和更新文件比壓縮更快。
您可以考慮將壓縮安排到一個時隙,在該時隙中您知道數據庫的容量不是 100%。你這樣做是
local.ini
這樣的:; configuration for automatic compaction. ; see: http://docs.couchdb.org/en/latest/config/compaction.html [compactions] _default = [{db_fragmentation, "70%"}, {view_fragmentation, "60%"}, {from, "02:00"}, {to, "05:00"}]
這意味著,僅在夜間 2 和 5 期間執行自動壓縮,並且僅在數據庫碎片大於等於 70% 且視圖碎片大於等於 60% 時執行
更多資訊可以在這裡找到:http: //docs.couchdb.org/en/latest/maintenance/compaction.html
如果您有任何問題,非常歡迎您加入dev@couchdb.apache.org郵件列表或加入 IRC #couchdb-dev 或 #couchdb 在 irc.freenode.net