- PR -

Weblogic10.0でのJDBC接続プール数破棄について

1
投稿者投稿内容
JJ
会議室デビュー日: 2008/09/03
投稿数: 2
投稿日時: 2008-09-03 20:56
現在、RHEL4.6+Weblogic10.0J+Oracle10gの環境でWebアプリケーションを稼動させていますが、
接続ユーザーが増えると、「JDBC接続プール数不足」が出て、それ以降、新規ユーザーが接続できなくなります。
※同じWebアプリケーションをWeblogic7.0Jで稼動させると、問題なく動作します。
 Weblogic7.0JとWeblogic10.0Jで接続プールの破棄処理に違いがあるのでしょうか。Weblogic10.0Jでも
Weblogic7.0Jと同様に接続プールの破棄処理を行うことはできないのでしょうか。
 ご存知の方がいたら回答をお願いします。

 同時接続希望数:4000
 
 実装メモリ:2.0GBです。

 
eno
常連さん
会議室デビュー日: 2008/08/22
投稿数: 28
お住まい・勤務地: 代々木上原
投稿日時: 2008-09-03 21:48
.netFWならば、

Dim CnString As String = "Data Source=(local);Initial Catalog=DB_NAME;Integrated Security=SSPI;"

といった形で最初に定義して、

Dim cn As New SqlConnection(CnString)
Dim cmd As New SqlCommand("SQL文", cn)

cn.Open()
Dim dr As SqlDataReader = cmd.ExecuteReader
・・・・・
dr.Close()
cn.Close()

と、コネクションを張るために用意したオブジェクトを破棄します。

加えて、
cmdのconnectionとtransactionも破棄します。

With cmd
.connection=nothing
.transaction=nothing
End with

パフォーマンスカウンタなるツールがあれば、asp.net(VB,C#)からステップ実行していったときに、どれくらいのコネクション数でタイムアウトエラーにつながるかわかります。

お使いのプログラミング言語のソースを見直されるべきなのではないでしょうか?
ネットにも情報が少ないですね。。

JJ
会議室デビュー日: 2008/09/03
投稿数: 2
投稿日時: 2008-09-04 13:11
ご回答ありがとうございます。 補足になりますが、アプリケーションはJAVAでできています。
 ご回答いただいた処理は入っているのですが・・。finally処理が欠落しているロジックがどこかにありそう
なのですが、そのロジックを探して修正するとなるとかなりの工数が必要になります。その対処としてWeblogic
Server側で対処できないかというのが質問の趣旨になります。

1

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