SharePoint和Telerik RadGrid控件的性能问题

时间:2011-06-21 21:30:37

标签: asp.net sharepoint sharepoint-2010 telerik

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

这里有几点说明:

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

通过前面提到的,我能够排除以下内容:

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

从高级别来看这个案例,您能想到我需要在SharePoint应用程序服务器上执行的任何操作或以其他方式解决此问题吗?我在web.config中关闭了调试。

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

2 个答案:

答案 0 :(得分:0)

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

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

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

Kr,Bernd。

答案 1 :(得分:0)

出现SharePoint性能问题主要是由于以下原因:

  • BLOB淹没SQL Server
  • 列表的数据库跳闸太多

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

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

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