出来るのだASP Q&A掲示板(過去LOG)
訪問数 52046
昨日 889
今日 776 【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。 |
![]() ![]() ![]() ![]() ![]() |
![]() ![]() |
![]() ![]() ![]() |
[3451] ADOによるコネクションプーリング |
投稿者:Raioさん 2003/06/26 17:13:17 |
はじめましてRaioと申します。 現在、ASPによる開発があり、悩んでいます。 普通というか常識を教えてほしいのですが やりたい処理は下記のような簡単な処理です。 1.データベースに接続 2.データを取得 3.画面に表示 4.データベース切断 これだけなのですがデータベースには毎回接続するのが あたりまえなのでしょうか? 1度接続したらSessionなどにプーリングしておくのが 良いのでしょうか? それだといつ切断するのでしょう? 的外れな発言でしたらすいませんが みなさんのご意見を聞かせていただけないでしょうか? よろしくお願い致します。 |
[3452] Re:ADOによるコネクションプーリング |
投稿者:nowheremanさん 2003/06/27 8:56:51 |
> これだけなのですがデータベースには毎回接続するのが > あたりまえなのでしょうか? 私も設計段階の時、同様の事で悩んだ経験がありますが、 Web上のアプリケーションである事を前提として、 色々事象を考えた上で、ソース毎に接続→切断する方法を取りました。 もちろん、処理やセッション毎だけではなく、 その他にも様々な手段があると考えられます。 VC++等でDBのプログラムをした時は、 接続はアプリ起動時のみとして、 DB処理スレッドを起こしてイベント処理した事もあります。 でもこれも処理毎に接続→切断とする手段も考えられるので どれが最良かはシステムによって異なるのでは無いでしょうか? それぞれの特徴を把握した上で、 動作環境などの条件を前提にして、 システム仕様や設計等でよく検討して 最良な手段を取るべきだと私は考えています。 > 1度接続したらSessionなどにプーリングしておくのが > 良いのでしょうか? > それだといつ切断するのでしょう? Session_OnStartの時に、接続しておいて Session_OnEndの時に切断する方法が考えられます。 Set Session("objDb") = Server.CreateObject("ADODB.Connection") Session("objDb").Open(…) とでもするんでしょうね。 でもやった事は無いので、どうなるのかは知りませんw |
[3453] Re:ADOによるコネクションプーリング |
投稿者:暇人さん 2003/06/27 9:51:50 |
> VC++等でDBのプログラムをした時は、 > 接続はアプリ起動時のみとして、 > DB処理スレッドを起こしてイベント処理した事もあります。 > でもこれも処理毎に接続→切断とする手段も考えられるので > どれが最良かはシステムによって異なるのでは無いでしょうか? > > それぞれの特徴を把握した上で、 > 動作環境などの条件を前提にして、 > システム仕様や設計等でよく検討して > 最良な手段を取るべきだと私は考えています。 私もそう思います > > 1度接続したらSessionなどにプーリングしておくのが > > 良いのでしょうか? > > それだといつ切断するのでしょう? Sessionはクライアントの設定によってはまったく使えません。 Webサーバーを複数たててロードバランスを取っている時もサーバー毎にSessionが立ってしまい無理です。 また、Sessionにオブジェクト変数を設定する事は可能ですが やらない方がよいとMicrosoftは勧告しています 一々接続、切断を繰り返すのが安全です たとえば、接続の悪いページに飛んでしまい。めんどくさくなって無理やり切った覚えはないですか? ASPのコネクションはIISの設定で時間によって自動で切れますが。切れるまでの間コネクションが残ってしまいます。IISサーバーDBサーバーに過負荷をかける原因になります。 不特定多数を顧客として考えると。嫌がらせする人の事も考えねばならず、つなげる→切るを繰り返すだけでサーバーダウンしてしまいます。 |
[3454] Re:ADOによるコネクションプーリング |
投稿者:Raioさん 2003/06/27 10:31:22 |
ご回答ありがとうございます。 > それぞれの特徴を把握した上で、 > 動作環境などの条件を前提にして、 > システム仕様や設計等でよく検討して > 最良な手段を取るべきだと私は考えています。 これをもう一度検討してみたいと思います。 本当に助かりました ありがとうございました。 |
TreeBBS For ASP V.0.1.3 |