クロールの負荷を管理する (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 パフォーマンスに対するクロールの影響は、以下を実行すると低減できます。

  1. すべてのクロール トラフィックを、小規模環境内の単一の SharePoint Web フロントエンド コンピューターか、大規模環境内の特定のコンピューター グループにリダイレクトします。これにより、クローラーが、Web ページとコンテンツを表示しアクティブなユーザーに提供するために使用されているリソースと同じリソースを使用するのを防ぎます。

  2. 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 フロントエンド サーバーをクロール ターゲットとして構成するには

  1. 次の最小要件を満たしていることを確認します。Add-SPShellAdmin を参照してください。また、この手順を実行するユーザー アカウントが Farm Administrators グループに属していることを確認します。

  2. 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()
    
  3. Windows PowerShell コマンド プロンプトで以下のスクリプトを実行して、Web フロントエンド サーバーがクロール用に構成されていることを確認します。

    $WebApplication=Get-SPWebApplication <Web application URL>
    $WebApplication | fl SiteDataServers
    

    何か値が返されたら、Web アプリケーションは専用の Web フロントエンド サーバーを使用します。

  4. Web フロントエンド サーバーが検索クロール専用であれば、調整構成を削除できます。調整構成は、削除されなければ、サーバーが要求とサービスから受ける負荷を制限します。Windows PowerShell コマンド プロンプトで以下のスクリプトを実行し、サーバーから調整構成を削除できます。

    $svc=[Microsoft.SharePoint.Administration.SPWebServiceInstance]::LocalContent;
    $svc.DisableLocalHttpThrottling=$true;
    $svc.Update();
    

専用の Web フロントエンド サーバーをリセットするには

  1. この変更をロール バックして、すべての 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=0x411) を参照してください。

SharePoint Server 2010 では、次の目的でリソース ガバナーを使用することをお勧めします。

  • 検索クロール コンポーネントの対象となる Web サーバーが消費する SQL Server リソースの量を制限します。ベスト プラクティスとして、システムに負荷がかかっているときは、クロール コンポーネントの CPU 使用率を 10 パーセントに制限することをお勧めします。詳細については、「リソース ガバナーを使用してバックアップの圧縮による CPU 使用率を制限する方法 (Transact-SQL)」の「CPU 使用率を制限するためのリソース ガバナーの構成」を参照してください。

  • システム内の各データベースで消費されるリソースの量を監視します。たとえば、リソース ガバナーを使用すると、SQL Server を実行している各コンピューターにデータベースをどう配置すればよいかを決めることができます。詳細については、「ストレージおよび SQL Server の容量計画と構成 (SharePoint Server 2010)」を参照してください。