2017-08-09 2 views
0

私は、単純な電子メールアプリケーションのように、ユーザー間でメッセージを受信するために、アプリケーション内にテキストメッセージモジュールを実装しました。 Azure Storage Tableをストレージとして使用しています。Azureテーブルストレージ行Replace()コールで次の読み取りが遅くなる

受信トレイを読むとき、私は新しいメッセージを読むときに新しいメッセージを更新しています。同じPartitionKey内のストレージテーブルからの次の即時読み取りは、レコードの読み取りに時間がかかり、ストレージテーブルに送信されます。

私はTableOperation.ReplaceTableOperation.Mergeで試してみましたが、両方とも私に同じパフォーマンスを与えました。

この問題の原因は何ですか?

+2

質問を編集して、実行しているクエリとともにサンプルテーブルエンティティを表示してください。こうすることで、どのプロパティを照会しているのかを見ることができます(partitionkey/rowkeyまたは他のプロパティを使用すると違いがあります)。 –

答えて

0

同じPartitionKey内のストレージテーブルからの次の即時読み取りは、レコードを読み取るのに時間がかかり、次の更新がストレージテーブルに対して行われるまで読み取りが高速です。

メトリックスとログを収集するテーブルサービスについては、turn on Diagnosticsを試すと、問題のトラブルシューティングに役立ちます。

あなたは、コンテナ$ログでテーブルサービスのログを確認することができ、あなたが、エンドツーエンドのレイテンシ・イン・MSサーバーレイテンシー・イン・ミリを見つけることができますログエントリからの情報。

  • エンドツーエンドのレイテンシで-MS:着信 要求を読み取り、要求元に応答を送信するための時間を含む 要求された操作を実行するためのミリ秒単位の合計時間。
  • ms-server-latency-in: 要求された操作を実行する合計時間(ミリ秒単位)。この値には、ネットワーク遅延(受信要求を読み取って リクエスタに応答する時間)が含まれていません。

Storage Loggingが書き込むログエントリの形式の詳細については、Storage Analytics Log Formatを参照してください。

関連する問題