ディスク ベースのキャッシュを圧縮する (SharePoint Server 2010)

 

適用先: SharePoint Foundation 2010, SharePoint Server 2010

トピックの最終更新日: 2010-06-24

アラート名: ディスク ベースのキャッシュを圧縮します

イベント ID: なし

概要:   頻繁に使用される静的なファイルにアクセスする時間を減らす目的で、Microsoft SharePoint Server 2010 はディスク ベース キャッシュを使用します。データベース サーバーからこれらのファイルに、直接、アクセスする代わりに、フロントエンド Web サーバーのディスクにこれらのファイルを保存します。ファーム管理者は、各フロントエンド Web サーバーの Web.config ファイルを変更することによってキャッシュの設定を構成できます。

このアラートは、ディスク ベースのキャッシュが満杯になりファイルを効率的に提供できないため、現在、圧縮プロセスが進行中であることを示しています。圧縮とは、キャッシュからファイルを削除して空き領域を増やすことです。圧縮は、リソースに負担をかけるプロセスであり、フロントエンド Web サーバーのパフォーマンスに影響する可能性があります。圧縮プロセスが終了すると、フロントエンド Web サーバーのパフォーマンスは、通常に戻ります。

ヒント

圧縮プロセスの頻度を少なくする場合は、この記事に記載されている 1 つ以上の解決策を実行できます。

現象:   パフォーマンス カウンター Total number of cache compactions のしきい値を超えました。

原因:   ディスク ベースのキャッシュが最大サイズに達しました。

解決策:   ディスク ベースのキャッシュのサイズを大きくします

  1. Web.config ファイルを構成する方法については、「Web アプリケーションのキャッシュ設定を構成する (SharePoint Server 2010)」を参照してください。

解決策:   Windows PowerShell を使用して、ディスク ベースのキャッシュを手動でフラッシュします

  1. 次の最小要件を満たしていることを確認します。Add-SPShellAdmin を参照してください。

  2. [スタート] メニューの [すべてのプログラム] をクリックします。

  3. [Microsoft SharePoint 2010 製品] をクリックします。

  4. [SharePoint 2010 管理シェル] をクリックします。

  5. Windows PowerShell コマンド プロンプトで、次のコマンドを入力します。

    Add-PSSnapin Microsoft.SharePoint.Powershell
    Write-Host "Flush the Blob Cache for the application containing the specified site collection"
    $site = Get-SPSite -Identity <URL>
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Publishing")
    Write-Host "Flushing..."
    [Microsoft.SharePoint.Publishing.PublishingCache]::FlushBlobCache($site.WebApplication)
    Write-Host "Flushed Cache for:" $site.WebApplication
    

    ここで、

    • <URL> はイベント詳細の URL です。

解決策:   ディスク ベースのキャッシュによって格納されるファイルの種類を変更します

  1. Web.config ファイルを構成する方法については、「Web アプリケーションのキャッシュ設定を構成する (SharePoint Server 2010)」を参照してください。