【问题标题】:Azure Website with User Editable Content具有用户可编辑内容的 Azure 网站
【发布时间】:2012-01-22 09:32:22
【问题描述】:

我有一个在共享 IIS7 主机上运行的 ASP.Net MVC 网站,允许用户创建自己的登录页面。该网站允许用户编辑内容、样式(通过 UI 编辑 CSS)以及上传图片。

我正在考虑迁移到 Windows Azure 以提高可扩展性并改进数据库备份(使用 SQL Azure 数据同步请参阅http://social.technet.microsoft.com/wiki/contents/articles/sql-azure-backup-and-restore-strategy.aspx,我的主机提供的 SQL 备份计划有限)

一个绊脚石是,由于客户端可以上传图像和编辑 css 文件,这些文件将需要存储在 blob 存储或数据库中(任何其他选项?)。我不想使用数据库,因为数据库存储更昂贵。

但是,如果这些文件存储在 blob 存储中,考虑到文件(css、图像)是从 blob 存储中获取而不是从与网站相同的磁盘中读取的,这将如何影响网站的性能?我知道浏览器缓存会减少对这些文件的请求,但是第一次请求呢?

【问题讨论】:

    标签: azure azure-storage azure-blob-storage


    【解决方案1】:

    除了blob存储,还有Windows Azure Content Delivery Network (CDN)。由于您有一个基于浏览器的应用程序,因此这可能比 blob 存储更快。

    【讨论】:

      【解决方案2】:

      这些文件需要存储在 blob 存储或数据库中 (任何其他选项?)。

      没有。没有其他选择。

      但是,如果这些文件存储在 blob 存储中,这将如何 给定文件(css,图像)影响网站的性能 从 blob 存储中获取,而不是从同一个存储中读取 磁盘作为网站?

      唯一的性能“降级”是用户保存编辑时。而不是在获取文件时。但是你必须比使用常规方法更灵活一些。您必须将它们直接指向 blob(即http://account.blob.core.windows.net/styles/site.css),而不是让 CSS 和图像的 URL 指向文件系统(即 /styles/site.css)。

      或者更好 - 正如 Olivehour 建议的那样 - 您可以为 blob 存储帐户启用 CDN,并将 CSS/图像 URL 格式化为指向 CDN 版本。因此,在 blob 中包含 CSS 和图像的唯一性能影响是性能越来越好。

      请注意,您可以将自己的域与 blob 存储和 CDN 关联,因此不会有任何花哨的 URL,例如“blob.core.windows.net”。

      【讨论】:

        【解决方案3】:

        对 CSS 和图像使用 blob 存储实际上会提高您网站的性能。正如 asaykov 所说,blob 有自己的 URL,与您的部署 URL 分开。这意味着您通过 Web 角色的 IIS 服务器驱动的流量更少,从而减少了该服务器实例的总体负载。

        此外,浏览器通常配置为与给定域的两个并发连接。通过将图像和 css 放在单独的域中,您的浏览器现在将拥有更多的并发连接。

        关于图像或 css 文件的编辑,Web 应用程序代码确实需要将新内容推送到 blob,这可能会增加一些延迟。但是,这种延迟可能会也可能不会很明显(取决于您在 Web 应用程序上施加的负载)。与提供内容相比,我认为这应该是一种不常见的操作。

        【讨论】:

          【解决方案4】:

          您现在可以使用 Windows Azure 网站,如果您不想迁移到 SQL Azure 数据库,则不必担心 - 它的工作原理与您当前通过 IIS7 托管的任何内容基本相同。您可以通过 webmatrix 进行管理,您的 MVC 站点仍然可以写入“文件系统”(对于您的客户端上传的 css 文件)

          You can find more about Windows Azure Websites here.

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-08-06
            • 1970-01-01
            • 2018-01-22
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多