• 締切済み

SQLServerの通信パケットサイズの大きさ

SQLServerで通信パケットサイズを変更できるオプション(network packet size)が ありますが、基本的にデフォルトで最適とあります これを大きくすると回数が減るのでレスポンスが早くなると書かれていましたが 逆にデメリットはあるのでしょうか? あまり変更することは望ましくないように書かれていたので、変更する基準がわかれば 教えて下さい

みんなの回答

  • Siegrune
  • ベストアンサー率35% (316/895)
回答No.1

>これを大きくすると回数が減るのでレスポンスが早くなると書かれていましたが >逆にデメリットはあるのでしょうか? 例を挙げてみますと、 (実際にこんな設定はできませんが) パケットサイズ 10byte と 100byteを比べると、 1回の送信で、500byte送りたければ、 10byte なら、50パケットの処理が必要なのに、100byteなら、5パケットですみます。 では、25byteのデータを10件送りたければどうなるか? 10byte なら、25byteをデータを送るのに、3パケット。したがって、10件なら30パケット。 100byte なら、25byteをデータを送るのに、1パケット。したがって10件なら10パケット。 まではいいのですが、 ネットワーク上を流れるデータ量は、およそ、通信パケットサイズ×パケット数なので、 10byte なら、30×10=300byteです。 250byte送りたいだけなので50byteはムダなデータを送ってます。 100byteなら、100×10=1000byteです。 250byte送りたいだけなので750byteはムダなデータを送ってます。 パケットを大きくしてメリットがあるのは、大量データを少ない件数流したいときだけです。 このパラメタは通常はさわる必要ないはずです。 リレー用のサーバとかで、データ量が大きく、数が少ないテーブルを、 1日に小数回送受信するだけとか特殊な用途のときは考慮してもいいかもしれませんが。

関連するQ&A