我有一个应用程序可以让注册用户使用SAS令牌直接从Azure存储上传和下载。监控每个用户的带宽的最佳方法是什么?
我查看了Azure提供的日志,并查看了一些内容,一种可能的方法是将SAS令牌绑定到用户的IP地址,然后检查{{1}的日志}字段。但是,这种方式看起来并不那么具体,因为多个用户可能拥有相同的IP地址。
另外,我看到一个<requester-ip-address>
字段,根据文档,它是一个唯一标识请求的不透明值。但是,如果用户直接与azure存储通信,我就看不到任何获取标头值的方法。
感谢。
答案 0 :(得分:1)
另一种方法可能是:
答案 1 :(得分:0)
监控每个用户的带宽的最佳方法是什么?
根据我的经验,我们没有合适的方法来做到这一点。似乎我们无法获得带宽值。如果您担心天蓝色存储的限制,我们可以从天蓝色的官方文档中获取Azure Storage limitation。
每个存储帐户的最大请求率 Blob:每秒20,000个请求,适用于任何有效大小的blob(仅限帐户的入口/出口限制)
单个blob的目标吞吐量每秒最多60 MB,或每秒最多500个请求
更新:
我们可以根据Azure price calculator采取适当的策略来限制用户的成本。
以General-purpose Storage Accounts为例,成本取决于存储事务和容量。如果我们想限制用户的成本。在我看来,我们可以限制用户的尺寸*交易。
为SAS令牌和用户创建关系
从日志中获取request uri
和request-content-length
,我们还会计算用户请求
使用逻辑来控制用户的尺寸*交易。
关于存储分析日志格式请参阅azure document。
其他相关链接:
Understanding Windows Azure Storage Billing – Bandwidth, Transactions, and Capacity