接続プール

って何の為にあるのかってさ。「基本的には」接続を再利用する事で色々と速くするってのが目的って事で合ってると思うんだけどさ。それ以外にも色々とあるでしょう。接続プールの実装方法にもよるとは思うんだけど。例えばプールする接続数が可変する接続プールとか固定数の接続プールとかあるよねえ。もっと色々と細分化出来ると思うよ。でまあ固定の接続プールよりも可変の接続プールが優れているかっていうと、そうでも無いでしょ。それってのは接続プールを利用するクライアントによりけりな訳ですよ。
例えばさあ OS とかジョブ制御ってのは非常に高い安定性を求められるタイプのソフトウェアなんだけどさ。こういったソフトウェアで若し DB 接続を利用するとしたら、固定プールの方が理想なんですよ。可変プールでベストエフォートとか有り得ないと思うんだけど俺は。
ベストエフォートってのは ISP との契約で良く出て来る言葉だけどさ。10,000 Mbps を 200 人で使うとするよ。そして全員が 1 人当たり 100 Mbps が最大のベストエフォートの契約をしてるとするよ。そうなると仮に 99 人が 100 Mbps をフルで使ってる瞬間があったとしたら、残りの 100 Mbps を 101 人で共有する事になる訳だよ。ベストエフォートってのはそういう所がある訳ですよ。不安定なんです。これは極端な例だけどさ。
ベストエフォートってのは限りあるリソースを最大限に利用したい時に有効な訳だよ。だからベストエフォートな接続プールってのは安定性を求められないソフトウェアだと有効な方法だよ。例えばインターネットに公開するサイトとかには有効だと思う。
逆に仮に簡易なジョブ制御とかを作ったとしたらだ。俺だったら次の様にするよ。先ずデータベースの最大接続数を決めるよ。そしてジョブ制御には固定数の接続プールを使って安定する様にするね。システム内にはジョブ制御以外にもデータベースに接続するソフトが居るでしょ。そういう連中はベストエフォートでも良いかも知れない。だけれども出来れば固定数の接続プールが理想。って言うのは何らかの原因でジョブ制御の接続プールから幾つかの接続が消失した瞬間があった場合に、ジョブ制御の接続プールが接続数の回復を行うんだけど、その回復を妨げるかの如くベストエフォートな連中が接続を掴んでしまって、データベースの最大接続数制限に引っ掛かって接続プールが接続数を回復出来なくなる恐れがあるからだ。
とまあ意外に色々と考えてる訳ですよ。俺の被害妄想的な一面もあるのかもだけど「何だよこの手抜き接続プールはよ…」みたいな雰囲気を醸し出されていた気がしてさあ…。もっとちゃんと深く考えてみてくれって思うんだけど。考え過ぎだろうか。まあ何か言われたらまたごにょごにょと色々と話し合う事になるんだろうなあ。まあ確かに改善すべき点はあるんだけどさ…。それより若くて可愛い女の子と喋りたいんだけどねえ…。おっさんと話してても全く嬉しくないよ。