[Seasar-user:17601] Re: コネクションプーリングでの最低確保数

Kento SAWADA [E-MAIL ADDRESS DELETED]
2009年 6月 3日 (水) 14:00:06 JST


こんにちは、kentoと申します。

> 現在、S2を導入しているサービスで利用しているDBが、
> 他サービス(非S2でコネクションプーリング不使用)からも共有しているため、
> 最低 n本のコネクションを保有していなければ、
> 最悪の場合にコネクションが取れないという事が発生します。

S2を導入しているサービス(サービスA)で一定数のコネクションを確保してお
かないと
他サービス(サービスB)がコネクションを先取りしてしまって、
DBの最大コネクション数に達してしまうということでしょうか。

そうだとすると、サービスAでとりあえず一定数は確保する、という方法は
あまり良くないと思います。
サービスごとにコネクションの必要数を見積もって、
DBの最大コネクション数を変えるなどの対応が先ではないかと。

サービスBではコネクションプールを使っていないとのことなので
リクエスト数によっては簡単にDBコネクション数が枯渇する可能性があります。
commons-dbcpを使えば簡単にコネクションプールを組み込めるので
検討してみてはいかがでしょうか。

あるいは、DBサーバが何なのかによりますが
クライアントホスト別にコネクションの上限を設定することもできるかもしれま
せん。
最悪はiptablesで蹴るなど。

横からすみません。
とち狂ったこと言ってたらスルーしてください。


duran さんは書きました:
> お世話になっています。
> 和田と申します
>
> コネクションプーリングの設定について質問です。
> maxPoolSizeで最大プーリング数の設定は可能ですが、
> minPoolSizeの用に最小プーリング数のような設定はできないのでしょうか?
>
> # ConnectionPoolImplを見たところ、
> # minPoolSizeのプロパティは用意されていないようでした。
>
> 現在、S2を導入しているサービスで利用しているDBが、
> 他サービス(非S2でコネクションプーリング不使用)からも共有しているため、
> 最低 n本のコネクションを保有していなければ、
> 最悪の場合にコネクションが取れないという事が発生します。
>
> 回避方法等ありましたら、ご教授お願い致します。
>
> 以上、よろしくお願いします。
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>   



Seasar-user メーリングリストの案内