2

SQLAzureデータベースにアクセスするAzureでホストされている一連のWCFRESTサービスを用意します。ServicePointManager.UseNagleAlgorithmがtrueに設定されていることがわかります。これをfalseに設定すると、テーブルストレージへの呼び出し(1460バイト未満のレコードの挿入)が高速化されることを理解しています。次のリンクで説明しています。

私の質問-Nagleアルゴリズムを無効にすると、SQL Azureへの呼び出しも高速化されますか?

4

1 に答える 1

3

Nagleのアルゴリズムは、tcpレベルのデータをより少ない数のパケットにバッファリングすることであり、レコードサイズに関係していません。たとえば、1300バイトのデータの行をテーブルストレージに書き込むことができますが、tcpヘッダー情報、コンテンツのシリアル化などを含めると、送信されるデータがしきい値の1460バイトより大きくなる可能性があります。

いずれの場合も、最終的な結果として、アルゴリズムが有効になっている場合、データがバッファリングされるため、最大500ミリ秒の書き込み遅延が発生する可能性があり、その結果、ネットワーク上のtcpパケットが少なくなります。

Nagleのアルゴリズムを無効にすると、SQL Azureへのアクセスに役立つ可能性がありますが、実行している読み取り/書き込みの種類に基づいてスループットが影響を受けているかどうかを確認するために、ベンチマークを実行する必要があります。必要なSQLコマンドテキストを使用してSQLAzureを呼び出すと、nagleを無効にしても違いがないほど大きなパケットが生成される可能性があります。

于 2012-01-21T17:11:50.950 に答える