【问题标题】:C# Bandwidth Throttling w/Azure使用 Azure 的 C# 带宽限制
【发布时间】:2015-10-26 15:44:49
【问题描述】:

我编写了一个小实用程序,它利用 Azure blob 存储来推送一些文件以进行辅助备份 (~100GB)。到目前为止,它运行得非常好,但是由于它位于托管区域,我的带宽使用量可以达到 190mb/s+,这是我宁愿不支付的账单。鉴于此,我有两个问题:

  1. 具有多个 IP 的服务器上的出站流量使用配置为“主”的第一个 IP。我知道在 C# 中我可以获取网络适配器列表并更改属性,但是是否可以告诉应用程序它的流量需要使用特定 IP(而不是默认 IP)进行传出连接?我们可以使用它来过滤来自该 IP 的任何内容,无论目的地如何,并且只有该应用会使用该地址。
  2. 如果不是,是否可以将应用配置为在具有单个 IP 的单独适配器上发送所有流量,以便我们可以在路由器级别过滤出站以限制该流量?

或者(如果我们从错误的角度进行攻击),是否可以将 Azure 传输限制为某种容量的最大带宽分配?这就是我真正想要的,因为任何其他流量都应该能够使用它可以使用的最大值(这意味着 QoS 不适用 - 这里没有争用,一般来说传出太多)。

【问题讨论】:

    标签: c#-4.0 azure-storage bandwidth-throttling


    【解决方案1】:

    对于您的备份需求,您是否已经评估过 RA-GRS,它提供了到辅助位置的内置数据复制功能,并对数据进行只读访问。 https://azure.microsoft.com/en-us/documentation/articles/storage-redundancy/

    据我所知,没有任何 API 允许您为所消耗的带宽设置限制,但是您可以启用存储监控,以便更好地了解触发了多少事务。 https://azure.microsoft.com/en-us/documentation/articles/storage-monitor-storage-account/

    顺便说一句,可以解决您的成本问题的一件事是为您的 Azure 订阅设置支出限额,但这取决于您的订阅类型。 https://azure.microsoft.com/en-us/pricing/spending-limits/

    【讨论】:

    • 我已经在使用 RA-GRS,并且支出限制不会发挥作用,因为它是 Azure 的入站数据(他们只对出站收费)。我遇到的问题是我的托管设施账单在 95% 的使用率,但他们并没有真正的上限——我可以使用任何我想要的东西。由于 Azure 有大量连接,我的带宽使用率可以轻松超过 160mb/s,并且任其运行,我从 colo 提供商那里收到了巨额账单。
    猜你喜欢
    • 1970-01-01
    • 2017-11-27
    • 1970-01-01
    • 2010-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多