1

システムでc3P0を使用しています。リクエスト数に基づいてプールサイズを変更することに関する設計上の質問があります。

各テナントのDBが分離されたマルチテナントベースのアプリケーションがあります。永続性にはhibernateを使用し、接続プールにはc3p0を使用しています。各テナントの接続プールは異なります。

現在、各テナントの接続プールサイズは静的であり、構成で定義されています。ただし、1〜2テナントの負荷が増加した場合、他のテナントのプールサイズを増やすことなく、これらのテナントのDB接続を増やす必要があります。

これらのテナントの接続プールサイズを動的に増やし、負荷の低い他のテナントの接続プールから未使用の接続を閉じます。

接続にmaxIdleTimeを使用することを考えていました。しかし、MySqlへの接続の総数に制限があるため、よりプロアクティブなアプローチが必要です。これにより、高負荷の接続プールが増加し、低負荷のプールが減少し、未使用の接続が閉じられます。

4

1 に答える 1

0

c3p0構成で高いmaxPoolSizeを使用するだけで機能しますか?c3p0は、需要に応じてプールサイズを自動的に「柔軟」にします。(すばやくフレックスダウンする場合は、maxIdleTimeExcessConnectionsを確認してください。タイムアウトを回避する場合は、maxIdleTimeまたはmaxConnectionAgeを設定してください)

c3p0の ドキュメント、特に 構成プロパティを参照してください。

于 2012-09-15T17:27:02.697 に答える