2017-08-15 8 views
2

Azureストレージから直接アップロードしてダウンロードするために、登録ユーザーにSASトークンを与えるアプリケーションがあります。各ユーザーの帯域幅を監視する最良の方法は何ですか?私の各ユーザの蒼穹のストレージ帯域幅の使用

私はAzureが提供するログを見て、物事を見て、可能性のある方法は、ユーザーのIPアドレスにSASトークンをバインドし、<requester-ip-address>フィールドのログを確認することです。しかし、複数のユーザーが同じIPアドレスを持つ可能性があるため、このようには具体的には見えません。

また、文書によれば、要求を一意に識別する不透明な値である<request-id-header>フィールドがあります。しかし、ユーザーが紺碧のストレージと直接通信する場合、ヘッダー値を取得する方法はありません。

ありがとうございました。

答えて

0

各ユーザーの帯域幅を監視する最適な方法は何ですか。

私の経験から、適切な方法はありません。帯域幅の値を取得できなかったようです。紺色のストレージの制限について心配するならば、我々は紺碧の公式文書からAzure Storage limitationを得ることができます。ストレージアカウントあたり

最大要求レートブロブ:(唯一のアカウントの入口/出口の限界によってキャッピング)任意の有効な大きさの塊のための秒2 20,000リクエスト

単一ブロブため目標スループットまで

:60メガバイト毎秒、又は第二

更新あたり500件のリクエストまで

Azure price calculatorによれば、ユーザーのコストを制限する適切な戦略を採用することができます。

enter image description here

コストがストレージ取引と容量に依存し、例えばGeneral-purpose Storage Accountsしてください。ユーザーのコストを制限したい場合。私の意見では、サイズ*取引をユーザーに制限することができます。

  • ログからrequest urirequest-content-lengthを取得SASトークンの関係とユーザーを作成し、我々はまた、サイズを制御するために

  • 使用ロジックユーザーの要求を数える*トランザクションユーザーのために。

ストレージアナライザのログ形式については、azure documentを参照してください。

その他の関連リンク:

Understanding Windows Azure Storage Billing – Bandwidth, Transactions, and Capacity

+0

ご回答ありがとうございます。私は、自分のアプリケーションの各ユーザーがどれくらいの金額を費やしているかにもっと興味があります。 Azureストレージは、サーバーから転送されるデータに対して料金を請求するためです。 –

+0

ユーザーのコストを制限したい場合は、ロジックを使用してそのコストを制御できます。私は答えを更新しました。 –

+0

主なコストは帯域幅に向かいますが、私たちはそれを追跡しています。 [帯域幅付きAzure計算機](https://azure.microsoft.com/en-us/pricing/calculator/?service=bandwidth)。 –

1

異なるアプローチは次のようになります。コピーブロブのAPIを使用して

  • :ユーザーのユーザー名と一時ファイルを作成し、ユーザーのためのSASトークンを生成しますファイルをダウンロードする
  • SASトークンの有効期限が切れた後にファイルを削除します。
  • Storageアカウントの分析ログを確認します。ブロブがアクセスされたかどうか、ダウンロードが成功したかどうか、ダウンロードされなかった場合はバイト数
  • ブロブ全体のダウンロードに失敗した場合は、ログにSASNetworkErrorが表示されます
  • SASNetworkErrorのイベントが発生した場合、ログにはユーザーがダウンロードしたデータ量が含まれます(https://docs.microsoft.com/en-us/rest/api/storageservices/storage-analytics-log-format応答パケットサイズ)。これは、エラーの直前に完了したダウンロードの割合を示します。
+0

ありがとう、私はこのように考えなかった。しかし、これはファイルが巨大な場合にオーバーヘッドを引き起こすでしょう、ユーザーはファイルが準備完了する前にしばらく待たなければなりませんか? –

+0

アカウント内でコピーしている場合は、比較的早く(ほとんど瞬時に)行われる可能性があります。しかし、データが大きすぎる場合は、Copy Blob APIを使用せず、最初に計画したとおりに元のファイルをダウンロード用に使用します。 – sguler

+0

しかし、元のファイルをダウンロードに使用すると、ユーザーの帯域幅を確実にトラッキングできません。 –

関連する問題