我需要在生产 CouchDB 实例上运行压缩,该实例之前可能没有运行过压缩。
如果压缩给 CouchDB 实例带来太多额外负载,是否可以安全地终止压缩进程?如果是这样,怎么办?
小智 4
在压缩过程中,会写入一个新的 .couch 文件。因此,当您中断压缩时,您会做的就是使文件变得无用。停止压缩 (iirc) 的唯一方法是停止 CouchDB。这不是一个好主意。
一般来说,压缩是一个后台进程。数据库读取不受其影响——对于大量读取也是如此!如果您有繁重的写入过程,压缩可能永远不会结束,因为写入和更新文档比压缩更快。
您可以考虑将压缩安排到某个时间段,在该时间段您知道数据库未达到 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"}]
Run Code Online (Sandbox Code Playgroud)
这意味着,仅在晚上 2 点和 5 点期间,并且仅当数据库碎片大于或等于 70% 并且视图碎片大于或等于 60% 时才运行自动压缩
更多信息可以在这里找到:http://docs.couchdb.org/en/latest/maintenance/compaction.html
如果您有疑问,非常欢迎加入dev@couchdb.apache.org邮件列表或加入 IRC:#couchdb-dev 或 #couchdb at irc.freenode.net
归档时间: |
|
查看次数: |
2151 次 |
最近记录: |