0

マシンAにSQLServer2008 R2で構成された「サーバー」があります。同じLANに、SQLServerがインストールされていない同一のハードウェアを備えたマシンであるマシンBがあります。

データベースからいくつかのレコードを要求し、それらを適切なCLRオブジェクトにマップする一連の単体テストがあります。この単体テストをマシンAからSQLServerを使用して実行すると、テストは5ミリ秒で実行されます。

テストのコードをマシンbにコピーして実行すると、テストにかかる時間は合計で約50ミリ秒になります。これは、ネットワークのオーバーヘッドのみが原因である場合は大幅に増加します。

実行されたクエリは大量のデータを送信せず(列にblob / xmlデータはありません)、合計データは約数KBです。データはを使用して読み取られますIDataReader。一度開かれる単一の接続を使用し、データベースに対して約24のクエリを実行するために使用されます。

それが実際に実行を遅くしているネットワークオーバーヘッドであるかどうかをテストするために試すことができるヒント/コツはありますか?SQLServerで何かが正しく構成されていないように感じます。

4

1 に答える 1

0

これは通常の動作のように聞こえますが、ネットワーク遅延にすぎません...これらの数値が妥当であるかどうかを確認するには、あるサーバーから別のサーバーに ping を実行します。 1msで来るはずです...私はPondlifeに同意します。健全なLANのコースに匹敵するように聞こえます。

于 2012-05-17T22:27:36.880 に答える