【问题标题】:Performance issues with SharePoint and Telerik RadGrid ControlSharePoint 和 Telerik RadGrid 控件的性能问题
【发布时间】:2011-06-21 21:30:37
【问题描述】:

我最初发布了this question to narrow down the slowness issues with my SharePoint application。在接受StriplingWarrior's 的回答后,我开始逐步执​​行他的建议。简而言之,我在 SharePoint 2010 服务器上托管的应用程序页面中有一个 RadGrid。分页时 RadGrid 运行得非常好;但是,一旦应用了过滤器,例如:给我包含“doe”的姓氏(使用 Telerik 的内置过滤器机制),结果需要 15 秒以上才能返回。这不会发生在我的开发环境中,使用相同的数据集(大约 30,000 条记录)。

这里有几点说明:

  • 我的 LINQ to SQL 表达式生成的 SQL 很好。我使用 LINQPad 跟踪它们并将它们放入 Management Studio。那里没什么复杂的。
  • 我创建了一个空的 ASP.NET 3.5 Web 窗体应用程序并移植了一个有问题的 RadGrid。我将 Web 应用程序放在生产服务器上,您不知道吗……它运行得很好。过滤时没有性能问题。

因此,通过上述操作,我能够排除以下情况:

  • 数据库优化问题。
  • SharePoint 应用程序和数据库服务器之间的网络问题。
  • LINQ to SQL 优化问题。

从高层次来看这个案例,您能想到我需要在 SharePoint 应用程序服务器上做些什么或以其他方式解决这个问题吗?我在 web.config 中关闭了调试。

再次,here is my original question that contains the code。谢谢。

【问题讨论】:

    标签: asp.net sharepoint sharepoint-2010 telerik


    【解决方案1】:

    我将首先确定是否花费了 15 秒: 1.服务器端 2.客户端

    您可以使用 Page Speed (http://code.google.com/intl/da-DK/speed/page-speed/) 等浏览器插件来衡量网页的各个方面。如果 15 秒的大部分时间用于服务器端呈现页面,您可以使用分析器工具或代码中的跟踪语句来缩小耗时。

    您的问题听起来有点像 RadGrid 如何处理过滤的问题。你说生成的SQL和数据库性能都很好。过滤器表达式(例如 doe)是否被转换为 SQL where 子句?我怀疑网格会从数据库中选择所有记录,然后应用过滤器。

    克鲁,伯恩德。

    【讨论】:

      【解决方案2】:

      出现 SharePoint 性能问题的主要原因如下:

      • BLOB 使 SQL Server 不堪重负
      • 列表的数据库访问次数过多

      如果您使用以下几种智能技术,您可以显着提高 SharePoint 性能:

      • 外部化文档 (BLOB)
      • 缓存列表和 BLOB

      Microsoft Office SharePoint Server (MOSS) 是一款非常受欢迎的产品,它通过内容管理和企业搜索、共享业务流程和跨边界信息共享来提高组织的效率,从而获得更好的业务洞察力。 StorageEdge 是一款非常出色的产品,可以增强/改进 SharePoint 性能。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-29
        • 2012-02-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多