【问题标题】:How long should it take to return a 200mb blob from SQL从 SQL 返回一个 200mb 的 blob 需要多长时间
【发布时间】:2012-05-18 18:49:14
【问题描述】:

我有支持 SharePoint 2010 环境的 SQL 2008 R2。一些文件会非常大(即 200mb)。虽然未来将向我们的平台添加远程 Blob 存储,但我想了解将 200mb 文件提供给用户时的合理性能。

SharePoint WFE 之间的网络只是其中的一部分。简单地从磁盘读取 blob 并将其传递到 SharePoint 层必须花费一些时间,但我不知道如何计算(或者人们需要什么其他信息来帮助)

有什么建议吗?

【问题讨论】:

  • 您是否考虑将 blob 存储在共享驱动器上并仅在应用程序之间传递文件路径?
  • atm 无法更改基础架构。这包括更改 SQL 配置。

标签: sql sql-server sharepoint blob


【解决方案1】:

这是一个非常复杂的问题,需要了解您工作的环境。你说得对,网络是一方面,但还有很多其他方面。流量拥塞、QoS、SQL Server 版本、设置、硬件等 然后是 Web 前端如何将数据和 HTTP 管道传递给用户、正在使用的浏览器等方面的问题。

查看安装 SharePoint 2010 的开发人员仪表板,您将能够看到感染和交付文件的所有步骤以及每个步骤需要多长时间。您会惊讶于路径的详细程度。

SharePoint 2010 Developer Dashboard

【讨论】:

  • 感谢 Paul,尽管 DD 不会为我提供特定文件下载的数据(即 PDF)。我将与您分享一些数字:WFE&SQL 之间的 sub ms lan 与通过光纤连接的高速 SAN。我知道我在网络级别有 14mbits 可用(忽略争用),这将性能限制在 2:26 秒左右。我们不会变得比这更好。但是,我认为反序列化 blob 并将其呈现以供下载可能有 10 秒的延迟是合理的,尽管可能是乐观的。 200 秒太长了。我真的在寻找一种直觉。
  • 我在我们的系统上做了一个试验(45Mbit 管道到 DC)。 160MB zip 的上传时间为 49.7 秒,下载时间为 24.3 秒。个人认为这是可敬的表现。您的里程和结果当然会有所不同,但至少有一个基准开始。 (SP2010 2 个 WFE,2 个 APP,镜像 SQL 2008 R2)
【解决方案2】:

无论大小如何,如果您的大型内容当前存储在文档库中,则应考虑激活 BlobCache 功能。

这将在首次访问后将其放在您的 WFE 上,使用适当的过期标头交付它,并完全减少 SQL Server 的负载。想象一下 20 个并发用户访问一个 200mb 的文件。如果不在 blobcache 中,您的场将很难吞下这些无用的负载。

当您以单用户身份请求时,第一次访问将比您的测试场景更长,但任何进一步的访问都将很快,因为 IIS 7 能够提供它并且网络容量取决于您的客户端。

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 2021-01-01
    • 2016-08-13
    • 2013-05-24
    • 2014-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多