バイナリ ラージ オブジェクトのディスクベースのキャッシュ
最終更新日: 2010年4月19日
適用対象: SharePoint Server 2010
この記事の内容
ディスクベースのキャッシュを有効にして変更する
ディスクベースのキャッシュをフラッシュする
ディスクベースのキャッシュの強化点
ディスクベースのキャッシュは、イメージ、サウンド、ビデオ ファイルなどのバイナリ ラージ オブジェクト (BLOB) のキャッシュを制御します。ディスクベースのキャッシュは高速であり、データベースへの往復作業を不要にします。BLOB はデータベースから一度に取得され、Web クライアントに保存されます。さらに、要求はキャッシュから提供され、セキュリティに基づいて削除されます。次の Stsadm コマンドを使用すると、ファーム上の異なる Web フロントエンド コンピューターで、指定された Web アプリケーションと関連付けられている BLOB をすべてフラッシュできます。stsadm –o setproperty –propertyname blobcacheflushcount –propertyvalue 11 –urlhttp://mywebapp::port
ディスクベースのキャッシュを有効にして変更する
ディスクベースのキャッシュは既定では無効になっています。ディスクベースのキャッシュを有効にし、カスタマイズするには、インターネット インフォメーション サービス (IIS) Web サイトにマップされた SharePoint Web アプリケーションの web.config ファイルにある次のステートメントを変更する必要があります。
<BlobCache location="C:\blobCache" path="\.(gif|jpg|png|css|js)$" maxSize="10" max-age="86400" enabled="false"/>
上記の例について説明します。
location は、キャッシュされたファイルが保存されるディレクトリです。
path は、ファイル拡張子に基づいてキャッシュするファイルを正規表現の形式で指定します。
maxSize は、ディスクベースのキャッシュの最大許容サイズを GB で指定します。
max-age は、クライアント コンピューターにダウンロードされた BLOB をクライアント ブラウザーがキャッシュする最長時間を (秒単位で) 指定します。最後にアイテムがダウンロードされてからそのアイテムの期限が切れていない場合は、ページが要求されたときに同じアイテムは再要求されません。max-age 属性は、既定で 86400 秒 (つまり、24 時間) に設定されますが、0 以上の期間に設定することができます。
enabled は、キャッシュを有効または無効にするブール値です。
ディスクベースのキャッシュをフラッシュする
[サイトの操作] メニューで、[サイトの設定] をポイントし、[すべてのサイト設定の変更] をクリックします。
[サイト コレクションの管理] の [サイト コレクションのオブジェクト キャッシュ] をクリックします。
[ディスク ベースのキャッシュのリセット] で、次の操作を 1 つ以上実行します。
サーバーでディスク ベースのキャッシュのリセットを強制するには、[このサーバーでディスク ベースのキャッシュのリセットを強制する] を選択します。
すべてのサーバーでディスク ベースのキャッシュのリセットを強制するには、[ファーム内のすべてのサーバーでディスク ベースのキャッシュのリセットを強制する] を選択します。
注意
1 つ以上のチェック ボックスを選択した場合は、[OK] をクリックするとディスク キャッシュのすべてのエントリが直ちにフラッシュされます。チェック ボックスを選択しなかった場合、ディスク キャッシュは変更されず、アイテムの有効期限が管理されます。アイテムはサイト内で変更されたとき、またはディスク サイズを超過したときに削除されます。
[OK] をクリックします。
ディスクベースのキャッシュの強化点
Microsoft SharePoint Server 2010 は、ファームの容量を拡張し、スループットを向上し、デジタル メディア資産をサポートすることで、ディスクベースのキャッシュに新しい機能を導入します。
ディスクベースのキャッシュの主要な目的は、Microsoft SQL Server の負荷を低減することでファームの容量を拡張することです。ディスクベースのキャッシュでは、これを実現するために、ファイルの内容がフロントエンド Web サーバーのハード ドライブに格納されます。キャッシュされていないファイルへの要求がフロントエンド Web サーバーで処理されると、ディスクベースのキャッシュは、そのファイルを SQL Server から取得し、ディスクに保存して、要求元のクライアントに提供します。その後、そのフロントエンド Web サーバーで実行される、同じファイルに対する以降の要求については、SQL Server からのファイルではなく、ディスクに格納されているファイルが提供されます。各フロントエンド Web サーバーは独自のキャッシュを維持します。
ディスクベースのキャッシュでは、キャッシュされたファイルにアクセスする場合にサーバーのスループットが向上します。SQL Server に最初にアクセスしなくても、ファイルをクライアントに直ちに提供できるためです。
ディスクベースのキャッシュは、HTTP バイト範囲をサポートすることで、SharePoint Server 2010 のデジタル資産メディアをサポートします。これにより、ディスクベースのキャッシュは、ファイルの一部に対する要求を処理できるようになりました。ディスクベースのキャッシュは、ファイル全体をディスクにキャッシュしますが、ファイルの一部に対する要求 (ビデオの最後の 5 MB など) では、ファイル全体ではなく要求されたバイトのみを返します。ファイルの一部のみを返すことで、帯域幅が節約されますが、さらに重要なことは、これにより、メディアプレーヤーがディスクベースのキャッシュ ファイルに対して "シーク" 要求を行えることです。たとえば、Windows Media Player で視聴しているビデオの終了部分の近くにまでスキップする場合、シークされるバイト範囲が計算されて、必要なバイトの範囲が要求されます。
ビデオおよび他のリッチ メディアのような大容量ファイルを管理する場合、SharePoint Server 2010 では、SQL Server からそれらのファイルを取得するのに時間がかかるためクライアントの待機時間が増加するという事実を考慮する必要があります。この問題を解決するために、ディスクベースのキャッシュは、SQL Server からコンテンツを小さな断片単位でダウンロードします。ディスクベースのキャッシュはいくつかの断片をダウンロードした後に、クライアントへのファイルの送信を開始します。この方法により、クライアントでの "最初のバイトまでの時間" (TTFB) 環境が大幅に向上します。ディスクベースのキャッシュがファイルの提供を開始できるようになるまで、SQL Server からファイル全体を受信する必要がないためです。
ビットレート調整を使用すると、サーバーでの帯域幅の消費をさらに制限できます。ビットレート調整は、ファイルのダウンロード速度を低下させる機能です。この機能は、IIS Media Pack (英語) モジュールで提供されます。このモジュールでは、SharePoint Server の機能が追加または削除されることはありませんが、各接続で使用される帯域幅が少なくなるため、さらに多くの同時接続が可能になります。