1.3.4. データベースのコネクションプールの調整
Red Hat Quay は、すべてが同じコンテナー内で実行する多くの異なるプロセスで設定されています。これらのプロセスの多くは、データベースと連動しています。
有効にすると、データベースと対話する各プロセスには、コネクションプールが含まれます。これらのプロセスごとのコネクションプールは、最大 20 個の接続を維持するように設定されています。高負荷時には、Red Hat Quay コンテナー内のすべてのプロセスの接続プールを満たすことが可能です。特定の展開や負荷の下では、Red Hat Quay がデータベースの設定された最大接続数を超えないようにするための分析が必要になる場合があります。
時間が経つと、接続プールはアイドル接続を解放します。すべての接続をすぐに解除するには、Red Hat Quay の再起動が必要です。
データベース接続プールは、環境変数 DB_CONNECTION_POOLING={true|false} を設定して切り替えることができます。
データベース接続プーリングが有効な場合は、接続プールの最大サイズを変更することができます。これは、以下の config.yaml オプションを使用して実行できます。
DB_CONNECTION_ARGS: max_connections: 10
DB_CONNECTION_ARGS:
max_connections: 10
1.3.4.1. データベース接続引数 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay のデータベース接続設定は config.yaml ファイル内でカスタマイズすることができます。これらは、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)
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)