1.3.4. 调整数据库连接池
Red Hat Quay 由很多不同的进程组成,它们都在同一个容器内运行。很多进程与数据库交互。
使用 DB_CONNECTION_POOLING
参数时,与数据库交互的每个进程都将包含一个连接池。这些每个进程连接池被配置为保持最多 20 个连接。当负载过重时,可以在 Red Hat Quay 容器中为每个进程填充连接池。在某些部署和负载下,这可能需要分析以确保 Red Hat Quay 不超过数据库配置的最大连接数。
随着时间的推移,连接池将释放闲置连接。要立即释放所有连接,必须重启 Red Hat Quay。
可以通过将 DB_CONNECTION_POOLING
设置为 true
或 false
来切换数据库连接池。例如:
--- DB_CONNECTION_POOLING: true ---
启用 DB_CONNECTION_POOLING
时,您可以使用 config.yaml
中的 DB_CONNECTION_ARGS
更改连接池的最大大小。例如:
--- DB_CONNECTION_ARGS: max_connections: 10 ---
1.3.4.1. 数据库连接参数
您可以在 config.yaml
文件中自定义 Red Hat Quay 数据库连接设置。它们取决于您的部署的数据库驱动程序,如 Postgres 的 psycopg2
,以及 MySQL 的 pymysql
。您还可以传递 Peewee 的连接池机制使用的参数。例如:
--- DB_CONNECTION_ARGS: max_connections: n # Max Connection Pool size. (Connection Pooling only) timeout: n # Time to hold on to connections. (Connection Pooling only) stale_timeout: n # Number of seconds to block when the pool is full. (Connection Pooling only) ---