2009-06-24 9 views
0

SQL Server 2005データベースに直接接続する従来のアプリケーションWinFormsがあります。データベースに直接アクセスするリッチクライアントの接続プーリング

同時に開いているクライアントアプリケーションは数多くありますので、データベースへの接続数を最小限に抑えたいと考えています。

私は接続を早く、頻繁に解放し、タイムアウト値を低く抑えることができます。

他にも検討が必要なことはありますか?

答えて

1

新しい接続を作成するときに同じ接続文字列を使用すると、.Netは1つの接続プールを使用します。

できるだけ早く接続を切断してください。

接続文字列自体に最大プールサイズを設定して、アクティブな接続の最大数を決定できます。

0

接続プールの導入を検討する必要があります。 Javaの世界では、通常、アプリケーションサーバーでこれを「無料」にします。しかし、もしあなたが気にするものがデータベース接続プーリングであれば、これはとにかく大きすぎるでしょう。

一般的な考え方は、(サーバー上の)1つのプロセスに、データベースへの限られた数の並列接続を開くことです。あなたは何らかの「プロキシ」アプリケーション(ある種のミニアプリケーションサーバー)でこれを行い、高価なものを再利用して、アプリケーションへの着信接続用にデータベース接続を作成し、作成して廃棄するほうが安価です。

もちろん、これにはクライアント側の変更も必要です。前提条件として受け入れることができない場合は、理想的な解決策ではないかもしれません。

+0

ええ、私は本当にアプリケーションサーバーを紹介するための操作性を持っていません(いつも私がこれをやる理由)。 私の主な関心事は、何もしないコネクションでデータベースを氾濫させないようにすることです。そして、もう一方のクローズ接続では常に接続を閉じて、ほんの数分後に再オープンします。 –

関連する問題