0

接続プールに関して、インターネット上に最低 500 人のライブ ユーザーがいる Web アプリケーションの接続文字列を定義する最良の方法は何ですか? 考慮すべき負荷係数は?

次のような接続文字列があるとします。

initial catalog=Northwind; Min Pool Size=20;Max Pool Size=500; data source=localhost; Connection Timeout=30; Integrated security=sspi"

最大プール サイズが 500 で、ライブ ユーザーが 500 を超えると、520 と言うと、残りの 20 人のユーザーはページの読み込みが遅くなりますか??

または、プーリングや接続タイムアウトについて何も話さない次のような接続文字列がある場合はどうなりますか? その場合、アプリケーションはどのように動作しますか?

initial catalog=Northwind; data source=localhost; Integrated security=sspi"

ただし、MYSQL データベースにアクセスするために「Using ステートメント」を使用しています。

4

2 に答える 2

0

接続はユーザーによって継続的に使用されるわけではありません。接続はデータベース クエリにのみ使用され、接続プールに返されます (つまり、500 人のユーザーが同時に 500 の接続を使用する可能性はほとんどありません)

接続プール使い果たされた場合、はい、追加のデータベース ユーザーは新しい接続を待つ必要があり、おそらくより遅くなります (完全なエラーではない場合)。

于 2012-08-30T09:37:07.643 に答える
0

ユーザーごとに接続を宣言する必要はありません。幸いなことに、これらはすべて SQL Server によって管理されます。接続プールは、すべての着信クエリを処理するために使用されます。

MSDN http://msdn.microsoft.com/en-us/library/8xx3tyca(v=vs.100).aspxを確認してください。

大事なポイント

注意 接続がプールに戻されるように、使用が終了したら常に接続を閉じることを強くお勧めします。これを行うには、Connection オブジェクトの Close メソッドまたは Dispose メソッドを使用するか、C# の using ステートメントまたは Visual Basic の Using ステートメント内のすべての接続を開きます。明示的に閉じられていない接続は、プールに追加または返されない可能性があります。詳細については、「ステートメントの使用 (C# リファレンス)」または「方法: システム リソースを破棄する (Visual Basic) for Visual Basic」を参照してください。

于 2012-08-30T10:29:45.177 に答える