3.13. 其他参数

3.13.1. 附件存储配置

[attachments]
compression_level

为来自的附件定义zlib压缩级别 1 (最低、最快)至 9 (最高,最慢)。价值 0 禁用压缩:

[attachments]
compression_level = 8
compressible_types

由于压缩对某些类型的文件无效,所以可以让CouchDB只压缩由MIME类型指定的某些类型的附件:

[attachments]
compressible_types = text/*, application/javascript, application/json, application/xml

3.13.2. 统计计算

[stats]
interval

收集统计信息的间隔(秒):

[stats]
interval = 10

3.13.3. UUIDs配置

[uuids]
algorithm

在 1.3 版更改: 补充 utc_id 算法。

CouchDB提供各种算法来生成用于文档的UUID值 _id 的默认值:

[uuids]
algorithm = sequential

可用算法:

  • random :128位随机真棒。太棒了,一直都是:

    {
        "uuids": [
            "5fcbbf2cb171b1d5c3bc6df3d4affb32",
            "9115e0942372a87a977f1caf30b2ac29",
            "3840b51b0b81b46cab99384d5cd106e3",
            "b848dbdeb422164babf2705ac18173e1",
            "b7a8566af7e0fc02404bb676b47c3bf7",
            "a006879afdcae324d70e925c420c860d",
            "5f7716ee487cc4083545d4ca02cd45d4",
            "35fdd1c8346c22ccc43cc45cd632e6d6",
            "97bbdb4a1c7166682dc026e1ac97a64c",
            "eb242b506a6ae330bda6969bb2677079"
        ]
    }
    
  • sequential :以随机增量单调递增的id。前26个十六进制字符是随机的,最后6个以随机数量递增,直到出现溢出。溢出时,将重新生成随机前缀并重新开始进程。

    {
        "uuids": [
            "4e17c12963f4bee0e6ec90da54804894",
            "4e17c12963f4bee0e6ec90da5480512f",
            "4e17c12963f4bee0e6ec90da54805c25",
            "4e17c12963f4bee0e6ec90da54806ba1",
            "4e17c12963f4bee0e6ec90da548072b3",
            "4e17c12963f4bee0e6ec90da54807609",
            "4e17c12963f4bee0e6ec90da54807718",
            "4e17c12963f4bee0e6ec90da54807754",
            "4e17c12963f4bee0e6ec90da54807e5d",
            "4e17c12963f4bee0e6ec90da54808d28"
        ]
    }
    
  • utc_random :自1970年1月1日UTC后的时间,以微秒为单位。前14个字符是十六进制的时间。最后18个是随机的。

    {
        "uuids": [
            "04dd32b3af699659b6db9486a9c58c62",
            "04dd32b3af69bb1c2ac7ebfee0a50d88",
            "04dd32b3af69d8591b99a8e86a76e0fb",
            "04dd32b3af69f4a18a76efd89867f4f4",
            "04dd32b3af6a1f7925001274bbfde952",
            "04dd32b3af6a3fe8ea9b120ed906a57f",
            "04dd32b3af6a5b5c518809d3d4b76654",
            "04dd32b3af6a78f6ab32f1e928593c73",
            "04dd32b3af6a99916c665d6bbf857475",
            "04dd32b3af6ab558dd3f2c0afacb7d66"
        ]
    }
    
  • utc_id :自1970年1月1日UTC后的时间,以微秒为单位,加上 utc_id_suffix 字符串。前14个字符是十六进制的时间。这个 uuids/utc_id_suffix 字符串值被附加到这些。

    {
        "uuids": [
            "04dd32bd5eabcc@mycouch",
            "04dd32bd5eabee@mycouch",
            "04dd32bd5eac05@mycouch",
            "04dd32bd5eac28@mycouch",
            "04dd32bd5eac43@mycouch",
            "04dd32bd5eac58@mycouch",
            "04dd32bd5eac6e@mycouch",
            "04dd32bd5eac84@mycouch",
            "04dd32bd5eac98@mycouch",
            "04dd32bd5eacad@mycouch"
        ]
    }
    

注解

UUID选择的影响: 在压缩之前,UUID的选择对B树的布局有很大的影响。

例如,在上载大量文档时使用顺序UUID算法将避免重写许多中间B树节点。随机UUID算法可能需要定期重写中间节点,由于只附加B树设计,导致吞吐量显著降低并浪费磁盘空间。

通常建议您设置自己的uuid,或者使用顺序算法,除非您有特定的需要,并考虑到可能需要压缩来重新平衡B树并回收浪费的空间。

utc_id_suffix

1.3 新版功能.

这个 utc_id_suffix 值将附加到由 utc_id 算法。复制实例应具有唯一的 utc_id_suffix 值以确保 utc_id 身份证。:

[uuid]
utc_id_suffix = my-awesome-suffix
max_count

1.5.1 新版功能.

在一个请求中发送的uuid不超过这个数量。如果请求更多的uuid,将抛出一个HTTP错误响应。:

[uuid]
max_count = 1000

3.13.4. 供应商信息

[vendor]

1.3 新版功能.

CouchDB发行商可以定制CouchDB的欢迎消息。请求时返回 GET / . ::

[vendor]
name = The Apache Software Foundation
version = 1.5.0

3.13.5. 内容安全策略

[csp]

CSP头的实验支持 /_utils (福克斯顿)。

enable

启用发送标头 Content-Security-Policy ::

[csp]
enable = true
header_value

您可以更改发送的标头的默认值:

[csp]
header_value = default-src 'self'; img-src *; font-src *;

3.13.6. 数据库清除配置

[purge]
max_document_id_number

3.0 新版功能.

设置单个清除请求中允许的最大文档数:

[purge]
max_document_id_number = 100
max_revisions_number

3.0 新版功能.

设置单个清除请求中允许的最大累积修订数:

[purge]
max_revisions_number = 1000
index_lag_warn_seconds

3.0 新版功能.

为本地清除检查点文档设置不更新索引时允许的持续时间。默认值为24小时:

[purge]
index_lag_warn_seconds = 86400

3.13.7. 普罗米修斯终端的配置

[prometheus]
additional_port

3.2 新版功能.

设置是否创建单独的未验证端口(默认值为FALSE):

[prometheus]
additional_port = true
bind_address

3.2 新版功能.

要绑定的IP地址::

[prometheus]
bind_address = 127.0.0.1
port

3.2 新版功能.

客户端无需身份验证即可查询Prometheus端点数据的端口

[普罗米修斯] 端口=17986