3.2. 基础配置¶
3.2.1. 基础 CouchDB 选项¶
- [couchdb]¶
- attachment_stream_buffer_size¶
较高的值可能会导致更好的读取性能,因为读取操作更少,或者更多操作系统页面缓存命中。但是,当有许多附件写入请求同时进行时,它们也会增加写入的总体响应时间。
[couchdb] attachment_stream_buffer_size = 4096
- database_dir¶
指定 CouchDB 数据库文件(
*.couch
命名)的位置。此位置应可供 CouchDB 服务运行的用户(默认情况下为couchdb
)写入和读取。[couchdb] database_dir = /var/lib/couchdb
- default_security¶
在版本 3.0 中更改:
admin_only
现在是默认值。如果未显式设置,则为数据库的默认安全对象。当设置为
everyone
时,任何人都可以执行读写操作。当设置为admin_only
时,只有管理员可以读写。当设置为admin_local
时,分片数据库可以被任何人读写,但分片只能被管理员读写。[couchdb] default_security = admin_only
- enable_database_recovery¶
启用此选项仅在发出 DELETE /{db} DELETE 请求时“软删除”数据库。这将使用
<dbname>.YMD.HMS.deleted.couchdb
形式的后缀重命名数据库的所有分片。然后,您可以根据需要手动删除这些文件。默认值为
false
。[couchdb] enable_database_recovery = false
- file_compression¶
在版本 1.2 中更改: 添加了 Google Snappy 压缩算法。
用于压缩附加到数据库和视图索引文件的所有内容的方法,附件除外(请参阅
attachments
部分)。可用方法为none
: 无压缩snappy
: 使用 Google Snappy,一种非常快速的压缩器/解压缩器deflate_N
: 使用 zlib 的 deflate;N
是压缩级别,范围从1
(最快,压缩率最低)到9
(最慢,压缩率最高)
[couchdb] file_compression = snappy
- maintenance_mode¶
通过设置此配置参数,可以将 CouchDB 节点置于两种不同的维护模式。
true
: 该节点将不会响应来自其他节点的集群请求,并且 /_up 端点将返回 404 响应。nolb
: /_up 端点将返回 404 响应。false
: 该节点正常响应,/_up 返回 200 响应。
预计管理员已在集群中的 CouchDB 节点前面配置了负载均衡器。此负载均衡器应使用 /_up 端点来确定是否将 HTTP 请求发送到任何特定节点。对于 HAProxy,以下配置是合适的
http-check disable-on-404 option httpchk GET /_up
- max_dbs_open¶
此选项对可以同时打开的数据库数量设置上限。CouchDB 在内部对数据库访问进行引用计数,并将根据需要关闭空闲数据库。有时需要同时保持比默认值更多的数据库打开,例如在许多数据库将持续复制的部署中。
[couchdb] max_dbs_open = 100
- max_document_size¶
在版本 3.0.0 中更改。
限制最大文档主体大小。大小是根据 JSON 文档主体序列化后的 Erlang 表示形式计算的,因为这更准确地反映了磁盘上消耗的存储量。特别是,此限制不包括附件。
如果一个或多个文档大于此配置值,则创建或更新文档的 HTTP 请求将失败,并显示错误代码 413。
在
_update
处理程序的情况下,文档大小将在转换后且在插入数据库之前进行检查。[couchdb] max_document_size = 8000000 ; bytes
警告
在版本 2.1.0 之前,此设置是通过简单地检查 http 请求主体大小来实现的。对于通过 PUT 进行的单个文档更新,该近似值足够接近,但是对于
_bulk_docs
端点来说情况并非如此。在 2.1.0 之后,定义了一个单独的配置参数:chttpd/max_http_request_size
,它可用于限制最大 http 请求大小。升级后,建议您查看这些设置并相应地调整它们。
- os_process_timeout¶
如果外部进程(例如查询服务器或外部进程)运行了此毫秒数而没有返回任何结果,它将被终止。保持此值较小可以确保您获得及时的错误,但您可能需要根据您的特定需求对其进行调整。
[couchdb] os_process_timeout = 5000 ; 5 sec
- single_node¶
在版本 3.0.0 中新增。
当此配置设置设置为
true
时,在启动时自动创建系统数据库。对于集群式 CouchDB 安装,必须设置为false
。
- uri_file¶
此文件包含可用于访问此 CouchDB 实例的完整 URI。它用于帮助发现 CouchDB 运行的端口(如果它被设置为
0
(例如自动分配任何空闲端口)。此文件应可供运行 CouchDB 服务的用户(默认情况下为couchdb
)写入和读取。[couchdb] uri_file = /var/run/couchdb/couchdb.uri
- users_db_security_editable¶
在版本 3.0.0 中新增。
当此配置设置设置为
false
时,拒绝任何修改_users
数据库安全对象的尝试。在 3.x 中,修改此对象已弃用,并且将在 CouchDB 4.x 中完全禁止。
- users_db_suffix¶
指定用于存储 CouchDB 用户的系统数据库的后缀(名称的最后一个部分)。
[couchdb] users_db_suffix = _users
警告
如果您更改了数据库名称,请不要忘记删除或清理旧数据库,因为它将不再受 CouchDB 保护。
- util_driver_dir¶
指定二进制驱动程序(icu、ejson 等)的位置。此位置及其内容应可供运行 CouchDB 服务的用户读取。
[couchdb] util_driver_dir = /usr/lib/couchdb/erlang/lib/couch-1.5.0/priv/lib
- uuid¶
在版本 1.3 中新增。
此 CouchDB 服务器实例的唯一标识符。
[couchdb] uuid = 0a959b9b8227188afc2ac26ccdf345a6
- view_index_dir¶
指定 CouchDB 视图索引文件的位置。此位置应可供运行 CouchDB 服务的用户(默认情况下为
couchdb
)写入和读取。[couchdb] view_index_dir = /var/lib/couchdb