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

duran [E-MAIL ADDRESS DELETED]
2009年 6月 3日 (水) 14:07:21 JST


Kento さん

ご意見ありがとうございます。

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

> そうだとすると、サービスAでとりあえず一定数は確保する、という方法は
> あまり良くないと思います。
> サービスごとにコネクションの必要数を見積もって、
> DBの最大コネクション数を変えるなどの対応が先ではないかと。
> 
> サービスBではコネクションプールを使っていないとのことなので
> リクエスト数によっては簡単にDBコネクション数が枯渇する可能性があります。
> commons-dbcpを使えば簡単にコネクションプールを組み込めるので
> 検討してみてはいかがでしょうか。
他のサービスは、他社さんのサービスなので、
変更できないんです・・・

> あるいは、DBサーバが何なのかによりますが
> クライアントホスト別にコネクションの上限を設定することもできるかもしれま
> せん。
> 最悪はiptablesで蹴るなど。
なるほど、クライアントホスト別にコネクションの上限設定できるDBがあるんで
すね。ちょっと調べてみます。ちなみに Oracle10gを利用しています。
そもそもDC内でDBを共有してるってのがおかしいんですよね・・・

> 横からすみません。
> とち狂ったこと言ってたらスルーしてください。
いえいえ、ご意見ありがとうございます。

> 
> 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 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user



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