管理爬网负载 (SharePoint Server 2010)
适用于: Search Server 2010, SharePoint Server 2010
上一次修改主题: 2016-11-30
**摘要:**通过将流量定向到专用 Web 服务器并使用资源调控器限制 CPU 使用率,来减小爬网程序对 SharePoint 场的影响。
Microsoft SharePoint Server 2010 支持专用爬网加载管理。爬网是一个耗费大量资源的过程,此过程会使 SharePoint 场过载。可以通过安排在服务器场被过度使用时进行爬网并配置系统以进行爬网(如本文所述)来管理搜索系统。爬网加载管理可帮助解决性能问题并阻止发生此问题,其中用户和爬网程序可同时访问 SharePoint 场。这在大型环境、具有大量用户请求的环境和频繁出现爬网的位置最为常见。
默认情况下,SharePoint Server 2010 爬网程序将通过 SharePoint 场中的网络负载平衡器对该服务器场中所有可用的 Web 前端计算机进行爬网。因此,在进行爬网时,爬网程序会导致出现以下情况:网络流量增加、Web 前端计算机上的硬盘和处理器资源的使用率增加以及数据库服务器上的资源使用率增加。将此额外负载同时施加到所有 Web 前端计算机上会降低 SharePoint 场中的性能。
此性能降低情况仅在为用户请求提供服务的 SharePoint 场上出现,而不会在 SharePoint 搜索服务器场上出现。此类性能降低会导致 Web 前端计算机上和整个服务器场的响应时间延迟。无法通过特定日志、资源计数器或标准监视来诊断性能降低。
可通过执行下列操作来减小爬网对 SharePoint 性能的影响:
将所有爬网流量重定向到小型环境中的单个 SharePoint Web 前端计算机或大型环境中的一组特定的计算机。此操作可阻止爬网程序使用将用于向活动用户呈现和提供网页和内容的相同资源。
限制 Microsoft SQL Server 2008 R2、SQL Server 2008 Service Pack 1 (SP1) 和累积更新 2 以及 SQL Server 2005 SP3 和累积更新 3 中的搜索数据库使用率以阻止爬网程序在爬网期间使用共享的 SQL Server 2008 R2、SQL Server 2008 SP1 和累积更新 2 以及 SQL Server 2005 SP3 和累积更新 3 磁盘和处理器资源。
在 Microsoft Office SharePoint Server 2007 中,可以使用管理中心来将爬网程序流量重定向到专用 Web 前端服务器,但在 Microsoft SharePoint Server 2010 中,必须使用 Windows PowerShell 重定向爬网程序流量。
将爬网程序流量重定向到专用 Web 前端服务器
此过程会将爬网程序流量重定向到专用 Web 前端服务器。在执行此过程之前,请确保已取消该服务器的网络负载平衡。
重要
专用 Web 前端计算机必须处于联机状态才能成功进行爬网。如果专用 Web 前端服务器处于脱机状态,则爬网不会自动重定向到另一台计算机,并且将在 10 分钟后失败。若要阻止此情况发生,您可以将多台专用 Web 前端计算机配置为爬网目标。
将专用 Web 前端服务器配置为爬网目标
确认您满足以下最低要求:请参阅 Add-SPShellAdmin。另外,确认执行此过程的用户帐户是 Farm Administrators 组的成员。
在 Windows PowerShell 命令提示符处,运行以下示例中的脚本:
$listOfUri = new-object System.Collections.Generic.List[System.Uri](1) $zoneUrl = [Microsoft.SharePoint.Administration.SPUrlZone]'Default' $webAppUrl = "<Default Zone FQDN URL>" $webApp = Get-SPWebApplication -Identity $webAppUrl $webApp.SiteDataServers.Remove($zoneUrl) ## By default this has no items to remove $URLOfDedicatedMachine = New-Object System.Uri("<Dedicated crawl target URL>") $listOfUri.Add($URLOfDedicatedMachine); $webApp.SiteDataServers.Add($zoneUrl, $listOfUri); $WebApp.Update()
确认 Web 前端服务器已配置为通过在 Windows PowerShell 命令提示符处运行以下脚本来进行爬网:
$WebApplication=Get-SPWebApplication <Web application URL> $WebApplication | fl SiteDataServers
如果此操作返回任意值,则 Web 应用程序将使用专用 Web 前端服务器。
当 Web 前端服务器专用于搜索爬网时,可以删除限制配置,否则,该限制配置会限制服务器从请求和服务接受的负载。可以通过在 Windows PowerShell 命令提示符处运行以下脚本来删除服务器中的限制:
$svc=[Microsoft.SharePoint.Administration.SPWebServiceInstance]::LocalContent; $svc.DisableLocalHttpThrottling=$true; $svc.Update();
重置专用 Web 前端服务器
如果您必须回滚此更改以便对所有 Web 前端服务器进行爬网,则可以在 Windows PowerShell 命令提示符处运行以下脚本:
$zoneUrl = [Microsoft.SharePoint.Administration.SPUrlZone]'Default' $webAppUrl = "<Your Default Zone FQDN URL>" $webApp = Get-SPWebApplication -Identity $webAppUrl $webApp.SiteDataServers.Remove($zoneUrl); $WebApp.Update()
使用资源调控器限制搜索数据库使用率
资源调控器是在 SQL Server 2008 中引入的一项技术,它使您能够通过指定传入请求所消耗的资源的限制来管理 SQL Server 工作负荷和资源,并且使您能够区分工作负荷并根据请求分配 CPU 和内存。资源调控器仅在 SQL Server 2008 或 SQL Server 2008 R2 Enterprise Edition 中提供。有关使用资源调控器的详细信息,请参阅使用资源调控器管理 SQL Server 工作负荷 (https://go.microsoft.com/fwlink/?linkid=129385&clcid=0x804)。
建议结合 SharePoint Server 2010 使用资源调控器执行下列操作:
限制搜索爬网组件的目标 Web 服务器消耗的 SQL Server 资源量。建议的最佳实践是当系统在负载情况下,将爬网组件限制为 10% 的 CPU。有关详细信息,请参阅如何:使用资源调控器限制备份压缩的 CPU 使用率 (Transact-SQL) 中的“配置资源调控器以限制 CPU 使用率 (Transact-SQL)”这一过程。
监视系统中每个数据库消耗的资源量。例如,可以使用资源调控器帮助您确定运行 SQL Server 的几个计算机中数据库的最佳放置位置。有关详细信息,请参阅存储和 SQL Server 容量规划和配置 (SharePoint Server 2010)。