SharePoint 2007性能问题

时间:2020-03-06 14:31:01  来源:igfitidea点击:

我不希望对此有一个简单的灵丹妙药,但是确保SharePoint 2007网站的良好性能的最佳实践是什么?

我们的Intranet有几个站点,通常认为它运行缓慢。服务器中有足够的内存和处理器功能,但是页面并没有像在功能强大的服务器上运行的网站所期望的那样"快速捕捉"。

我们已经尽力调整设置,但是还有什么我们可能会丢失的吗?

解决方案

只是一些想法...

从服务器或者客户端显示页面时显示的速度慢吗?如果来自客户端的速度较慢,请检查网络。

页面很"沉重"吗? (意味着很多元素,Web部件等等?)也许这很正常。

我们是否注意到由于添加了一个特定的Web部件,它们的加载速度较慢?特定的Web部件可能存在一些问题(例如,它正在访问包含成千上万个文档的文档库)。如果是这种情况,请尝试停用该特定的Web部件,然后查看性能是否更好。

我注意到Sharepoint喜欢添加大量的JavaScript。如果我们使用速度较慢的JavaScript(例如Internet Explorer)运行浏览器,我会发现有时浏览器并不"快速"。

另外,如果我们正在其上运行自定义代码:请确保在使用后处置SPWeb,这可能会增加很多费用!

一旦IIS应用程序池卸载了SharePoint资源或者自行回收了资源,初始请求就会出现一个已知问题,而新请求的启动速度非常慢。

有关发生这种情况的原因以及如何解决的详细信息,请参见此处; SharePoint 2007的怪癖解决了痛苦的缓慢启动时间

安德鲁·康奈尔(Andrew Connell)的最新著作(《专业SharePoint 2007 Web内容管理开发》)有一整章专门介绍如何改善SharePoint网站的性能。

它涵盖的关键主题是缓存,限制页面加载(尤其是在不需要时如何删除CORE.js),使用Disposable对象以及如何使用SharePoint查询。

我获得的2个非常好的技巧是使用CSS Freindly Control Adapters为通用组件(菜单等)生成较小的HTML,并设置服务器"唤醒",因此当IIS由于不活动而使应用程序池休眠时我们可以在有人访问网站之前重新唤醒它。

我们是在虚拟服务器还是物理服务器上运行?我们发现物理服务器上的速度明显更快。另外,如果我们正在从SAN运行服务器,请检查磁盘性能,这可能表明SAN已被过度使用。

Microsoft已发布有关此问题的白皮书。

How Microsoft IT Increases
  Availability and Decreases Rendering
  Time of SharePoint Sites  Technical
  White Paper Published: September 2008

从这里下载。

为了调查SharePoint性能问题,我将首先按以下顺序尝试这些操作:

  • 对那些性能不佳的页面运行SQL事件探查器。 SharePoint API擅长隐藏与数据库往返有关的幕后操作。在没有开发人员知识的情况下,只有一个API调用会产生许多往返,从而影响性能。
  • 为SharePoint网站提供服务的配置文件w3wp.exe进程。这将告诉我们相关的API使用情况。专注于滴答声,没有时间,并进行自上而下的包含时间分析,以查看大部分时间占用了哪些呼叫。有关说明,请参见此处。
  • 运行Fiddler或者Microsoft NetMon,以发现潜在的过多客户端往返(即在浏览器和Web前端服务器之间)和重定向(301)。

SharePoint安装程序的三个主要主要组件是SharePoint Server(运行WSS / SPS服务的组件),SQL Server DB和IIS。

我们说SharePoint服务具有不错的功能,并且我认为IIS肯定可以使用一台好的机器。

通常,承载与SP相关的DB的SQL Server安装程序会减慢页面加载的速度。我希望我们查看与SQL Server有关的整个性能计数器,并且我们可能也希望调整这些数据库(包括OS Server /存储过程/网络等)。

希望这会添加到我们要查看的事物的清单中。