- - PR -
コネクションプールについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-06-11 10:46
コネクションプーリングについてお聞きしたいことがあります。
Web開発においてDBアクセスのコネクションをプールする技術は 必須だと思うのですが、プール数はどのように考えるのでしょうか? 例えば5000人のユーザを想定していた場合などプール数はみなさんどのくらいにしますか? 環境やユーザ数を考慮した計算式などあるのでしょうか? よろしくお願いします。 | ||||
|
投稿日時: 2008-06-11 11:33
M/M/nモデルの待ち行列理論とかでどうでしょう?
nがプールサイズに対応することになります。 #ちなみに「プール数」は普通は1つ | ||||
|
投稿日時: 2008-06-11 12:30
少なくとも、HTTPの最大コネクション数より多くする必要は有りません。
HTTPDで待ち行列が発生するので。 後はRDBMS自体の最適な数との調整かと。
その5000人がどのようにアクセスするかによっても違いますし、 単に人数だけでは何とも言えません。 | ||||
|
投稿日時: 2008-06-11 15:13
回答ではありませんが、足りなくなった場合の振舞いは理解しておいた方が良いです。
1) エラー返す 2) とりあえずセッションを作成してクローズしたら切断 3) あくまで待つ 待機する というパターンがあります | ||||
|
投稿日時: 2008-06-12 14:49
私も同様に悩んだ経験があります。
そのようなアプリケーションサーバの構築経験もなく、どれぐらいにすれば よいのだろう。 と、あちこちあたったのですが、参考になる数字などは得られませんでした。 もう、その時の環境や資料などは手元になく記憶に頼ってですが、 ・利用端末 1000台程度 ・ほぼ全員が一日1度はログインする。 ・朝一でログインして帰るまでそのままのケースも多い。 ・2割程度の人は1日2時間程度そのシステムを利用する。 ・時期、部署(多くて20名程度)によっては重めの処理を勤務時間中頻繁に使用する。 と予測して最大50に設定したとおもいます。 2年ほど運用も見てました。あまり積極的にモニタや運用に関するヒヤリングを おこなってませんが、コネクションプールに関する問題、パフォーマンス上の問題は 1件も出ていません。 設定時はノウハウも調べる時間もなく、かなり適当に設定して、必要があれば 見直せばいいとおもってました。 どういうサイトでどういう設定をして運用して、こういう問題があった。 あるいは安定稼動してるといった情報があればとおもいました。 他の方も設定例をアップしてみてはいかがでしょう。 | ||||
|
投稿日時: 2008-06-13 10:49
みなさん回答ありがとうございます。
返信が送れて大変すみません。 やはりこのようなことはみなさんも回答しづらいですよね。 progmanさんのようにシステムに関わることを一から洗い出し プール数を考えたいと思います。 どうもありがとうございました。 | ||||
|
投稿日時: 2008-06-13 10:58
M/M/nモデル、全然難しくないのに・・・。
http://www.objectclub.jp/technicaldoc/monkey/s_wait 「おまけ 窓口が倍で1列の場合」 | ||||
|
投稿日時: 2008-06-13 11:12
カーニーさん
どうもありがとうございます。 確かにわかりやすいサイトですね。 ただ自分にはこのサイトからコネクションプール数を 導き出す能力がありません・・・ でもすごく参考になりましす。 もっと勉強したいと思います。 |
1