約 60,000 台のクライアント マシンがアクセスするアプリケーションがあります。以前は分散モデルを使用していましたが、BO レイヤーを作成し、WAN 経由でコールをそこに着信させることで、SaaS に移行しています。LINQ to Entities を使用して、BO レイヤーからデータベースにアクセスします。当社のマルチテナント モデルはフェデレーションされているため、複数のストアで構成される「エンタープライズ」は個別の SQL サーバー上にあります (通常、サーバーごとに約 200 の「エンタープライズ」があります)。
各 BO サーバーは、HT (32 個の論理) を備えたデュアル プロセッサ 8 コアです。IIS は、最大 32 のワーカー プロセスを持つように設定されています。
各呼び出しがその企業に関連付けられた接続文字列をプルし、正しいデータベースと通信するため、BO レイヤーは非常にうまく機能しています。私が抱えている問題は、クライアントの 1/4 と約 15 の BO サーバーがあることです。各データベース サーバーへの接続が 3000 以上開いており、その数が増えていることに気付きました。
なぜこのように成長しているのか分かりますか?このように各dbサーバーがフラッディングしないようにするために、接続を再利用する場所(接続プールがオンになっているように見える)をどこに設定すればよいですか?他の提案はありますか?