4.2. 数据库连接池
Red Hat Quay 由很多不同的进程组成,它们都在同一个容器中运行。其中许多进程与数据库交互。
默认启用数据库连接池,与数据库交互的每个进程都包含连接池。这些每个进程连接池配置为最多维护 20 个连接。在负载过重时,可以填写 Red Hat Quay 容器中每个进程的连接池。在某些部署和负载下,这可能需要分析以确保 Red Hat Quay 不会超过配置的数据库的最大连接数。
overtime,连接池释放闲置连接。要立即释放所有连接,Red Hat Quay 需要重启。
对于独立 Red Hat Quay 部署,在启动部署时可以关闭数据库连接池。例如:
$ sudo podman run -d --rm -p 80:8080 -p 443:8443 \ --name=quay \ -v $QUAY/config:/conf/stack:Z \ -v $QUAY/storage:/datastorage:Z \ -e DB_CONNECTION_POOLING=false registry.redhat.io/quay/quay-rhel8:v3.12.1
对于 OpenShift Container Platform 上的 Red Hat Quay,可以通过修改 QuayRegistry
自定义资源定义(CRD)来配置数据库连接池。例如:
QuayRegistry CRD 示例
spec: components: - kind: quay managed: true overrides: env: - name: DB_CONNECTION_POOLING value: "false"
变量 | 类型 | 描述 |
---|---|---|
DB_CONNECTION_POOLING | 字符串 |
是否要启用或禁用数据库连接池。默认值为 true。接受的值是 |
如果启用了数据库连接池,可以更改连接池的最大大小。这可以通过以下 config.yaml
选项完成:
config.yaml
... DB_CONNECTION_ARGS: max_connections: 10 ...