私は .Net Application Scalability についてあまり知りませんが、一部の SO ユーザーはそれについて詳しく知っていて、私を助けてくれると確信しています。
接続プールのオーバーフローについて、過去にいくつか質問があったことは知っています。ほとんどの場合、「接続を適切に閉じる方法」について話し合うことになります(私のLinqToSQLクエリはすべてDisposed
この種のコードを使用しているため、これは私の場合ではないと強く思います):
using (MyDataContext context = new MyDataContext())
{
return (from o in context.t_Orders
where o.order_id.Equals(_id)
select o).ToList();
}
また、私が読んだ回答のほとんどは、「何百人ものユーザーであっても、ウェブサイトは多くの同時接続を必要とすべきではありません」と言っています。しかし、私が話しているのは、500 人を超える同時ユーザー (同じ 2 分間の範囲でログインしている可能性がある) を持つ大規模な WebApp です。また、すべてのページ アクセスがテーブルに記録されます (そのため、複数の読み取りと挿入を検討してください)。
さて、デフォルトMaxPoolSize
の 100 接続で十分なのか、それともリスクになるのでしょうか? 何らかのリスクがある場合、接続プールの設定をどのように変更すればよいですか? MaxPoolSize
同時ユーザーの特定の % まで増やす必要がありますか。それは何らかの悪影響を及ぼしますか?ConnectionTimeout
または、を防ぐためにを増やす必要がありますInvalidOperationException
か?
ところで、William Vaughn の記事「The .NET Connection Pool Lifeguard - Prevent pool overloads that can drown your applications」を完全に赤字にしましたが、それでもかなり心配です。