【问题标题】:Should I use Blob storage or Azure VM storage for files?我应该对文件使用 Blob 存储还是 Azure VM 存储?
【发布时间】:2015-08-05 21:58:31
【问题描述】:

我正在编写存储在 Azure VM 上的 MVC 5 Internet 应用程序。在这个互联网应用中,用户可以上传图片和视频等文件,公众可以通过url访问。

我的问题是这样的:

我应该将此上传的数据存储在与 Azure VM 相同位置的 Azure Block Blob 容器中,还是让用户将此数据上传到 VM 存储的硬盘驱动器,然后可以通过 url 访问?

使用 Blob 存储还是在 VM 上存储文件更便宜?

例如,如果我将以下文件存储在 Blob 存储和 Azure VM 上,并且每个文件都被访问和查看 100 次,那么哪个更便宜?

  1. 10 * 1MB 图片
  2. 10 * 5MB 视频

另外,除了存储成本和交易成本之外,我还应该考虑哪些其他因素?

提前致谢。

【问题讨论】:

    标签: transactions asp.net-mvc-5 storage azure-storage azure-virtual-machine


    【解决方案1】:

    在这种情况下,您似乎应该为上传的 Blob 创建一个单独的容器并将其标记为公开。您的应用应将用户上传的文件保存到此公共容器。然后,用户可以直接通过 blob 的 URL 从容器中访问文件。

    这个建议有几个原因:

    1. 成本:正如您所提到的,块 blob 的成本比 VHD 上的空间便宜
    2. IOPS:您的 VHD 限制为每秒 500 次 IO 操作。您已经在此 VHD 上运行您的应用和操作系统,这意味着您上传的所有文件加起来剩余的 IOPS 更少
    3. 吞吐量:通过直接通过存储服务这些 blob,您不会让前端虚拟机成为带宽瓶颈(如果下载流量很高,虚拟机的网络可能会饱和)
    4. 可管理性:您可以从任何资源管理器管理 blob,并使用任何存储资源管理器手动添加/删除,而无需登录虚拟机来执行此操作。
    5. 可扩展性:如果将它放在 VM 的磁盘上,那么只有一个 VM 可以访问这些文件。借助 Blob,您可以将多个虚拟机用作前端,以便随着负载的增加进行横向扩展。

    【讨论】:

      【解决方案2】:

      只是说清楚.. 对于原始电子邮件中描述的工作负载,高级存储并不理想。高级存储专为需要保证 IOPS 和低延迟的 Azure 虚拟机工作负载而设计,例如数据库应用程序。成本将高于将数据存储在块 blob 中。块 Blob 也更适合媒体文件服务。

      【讨论】:

        【解决方案3】:

        第一次预配 VM 时,所有 Azure VMS 至少有两个磁盘 - 一个 OS 磁盘和一个临时磁盘。

        您不要将数据存储在临时磁盘上,因为它仅用于临时存储;当 VM 移动到另一台物理机器时,该驱动器上的数据将丢失,这可能发生在升级、修补程序以及 Windows Azure 检测到您正在运行的节点出现问题时。我也不建议将数据存储在 OS 磁盘上。操作系统和临时磁盘都有最大大小,随着数据大小的增长,您将达到最大大小限制。

        我不知道您的确切要求,但在我看来,您可能希望使用 Azure Blob 存储或将更多数据驱动器附加到您的 VM 并将数据保存在那里。

        【讨论】:

        • 费用怎么样?如果我在 VM 上有很多空间,那么使用 Blob 存储或 VM 的硬盘驱动器存储帖子中的数据是否更便宜?
        • 当你说你在VM上有很多空间时,你指的是哪个磁盘?您是指不应存储持久数据的临时磁盘吗?至于成本,大家可以看看块 blob 存储定价@azure.microsoft.com/en-us/pricing/details/storage。本地冗余存储的 Azure Block Blob 定价为 0.024 美元/GB/月,外加交易费用,因此 60 MB 的数据不会花费太多,但您可以控制预算,以便更好地了解情况。我会先考虑可用性、可扩展性和持久性要求,然后再考虑成本。
        【解决方案4】:

        最简单的方法是使用 blob 存储来存储您的文件。 Atul Sikaria 指出了优点和缺点,但我们也需要记住,可以选择将高级存储与 SSD 磁盘一起使用。与标准 blob 存储相比,这是一种非常有效的选择。

        【讨论】:

          猜你喜欢
          • 2017-10-27
          • 1970-01-01
          • 2020-08-18
          • 1970-01-01
          • 1970-01-01
          • 2020-11-11
          • 2017-03-26
          • 2012-05-20
          • 2017-05-06
          相关资源
          最近更新 更多