- PR -

コネクションプーリング数の見積もり

1
投稿者投稿内容
tahakoda
ベテラン
会議室デビュー日: 2002/08/17
投稿数: 79
投稿日時: 2004-10-12 11:22
お世話になっております。

情報が乏しく恐縮なんですが運用ピーク時、システムの更新処理が最大300件/分くるとします(300ユーザーがログインしていると想定)。この場合のコネクションプーリング最大値(TOMCAT4使用)ですがどういった基準で求めればよいでしょうか?。

こういった情報もないとダメ、というお話でも大変参考になりますので
どうぞよろしくお願い致します。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-10-12 18:11
同時に使用しているユーザではなく、同時に実行される最大スレッド数と同等に設定しましょう。
それ以上に設定しても使われることはありませんので。
Tomcat の場合は server.xml で設定していたと思います。
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2004-10-12 20:34
DB側でどれぐらいまで耐えられるかですね。
DBMSの性能にもよりますが、一般的にはDBサーバのスペックに強く影響を受けます。
300個のコネクションが貼られて、同時にSQL投げられて耐えられるのっていう感じですかね?

単純な考え方としては、ボトルネックはどこか? というだけの話です。
DBサーバのメモリかもしれないし、CPUかもしれませんし、LANのI/O速度かもしれませんし、LANのトラフィックかもしれません。
tahakoda
ベテラン
会議室デビュー日: 2002/08/17
投稿数: 79
投稿日時: 2004-10-12 22:21
皆様ありがとうございます。

そうですね結局DB側(Oracle)のMAX_CONNECTIONの設定も検討しなければならず合わせて検討しています。まずはフロントのAPサーバーのプーリング数を確定すべきかな、と思いJavaの方に投稿した次第なのです。

しかし最大スレッド数ですか・・。こちらの計測にはどのような方法を用いればよろしいのでしょうか?。
skulker
ベテラン
会議室デビュー日: 2004/06/08
投稿数: 67
投稿日時: 2004-10-12 22:25
DB処理の内容次第でしょう。
同時並行処理させた方がいいのか、多少待たせてでも同時実行数を少なくして個々のトランザクションへの資源割り当てを多くした方がいいのか。

理論的にやるなら待ち行列理論でも。
アーランB式とかC式とか。
tahakoda
ベテラン
会議室デビュー日: 2002/08/17
投稿数: 79
投稿日時: 2004-10-13 10:17
おはようございます。アドバイスありがとうございます。

ちょっとまとめたいのですが・・
1ユーザーに対し複数のスレッドが発生しコネクションを使用する、という
ことが実装によりあり得るという認識でよろしいのでしょうか?。
Javaは現在勉強中ですので何度もすみません。。
1

スキルアップ/キャリアアップ(JOB@IT)