sql >> データベース >  >> RDS >> PostgreSQL

Unicorn、Sidekiq、DBプールのサイズについての私の理解は正しいですか?

    Unicornでは、各プロセスが独自の接続プールを確立するため、データベースプール設定が5で、Unicornワーカーが5つある場合は、最大25の接続を持つことができます。ただし、各ユニコーンワーカーは一度に1つの接続しか処理できないため、アプリが内部でスレッドを使用しない限り、各ワーカーは実際に使用するだけです。 1つのデータベース接続。

    Sidekiqでは、プール内の接続はスレッド間で共有されるため、ワーカーごとに少なくとも1つの接続を使用できるようにする必要があります。同時実行数が5の場合、プールは少なくとも5である必要があります。

    プールサイズが1より大きいということは、各Unicornワーカーが使用できない接続にアクセスできることを意味しますが、実際には接続を開かないため、問題ではありません。

    アプリケーションコードでスレッドを使用している場合(およびデータベース接続を共有していない場合)を除き、アプリに必要な実際の接続の総数は、Sidekiqワーカーごとに1つ、Unicornワーカーごとに1つです。




    1. pl/sql配列の戻り値をJavaでフェッチする

    2. C#でのOracleパラメータ化クエリ

    3. TO_SECONDS()の例– MySQL

    4. docker-composeはpostgresイメージを開始しません