1

質問

Sitecore サイトごとにデフォルトで作成される MediaCache フォルダーのサイズを制限する方法はありますか? Sitecore 6.2 のドキュメントには、それは不可能と書かれていますが、6.4.1 を使用しています。

バックグラウンド

負荷分散された 3 つの Sitecore サーバーにデプロイされた Web サイトがあります。これらのサーバーの 1 つは、サイトのコンテンツをインデックスに登録するために検索アプライアンスによってのみ使用されます。通常のユーザーよりもはるかに高速にサイトを閲覧し、多くのデータを消費するため、Web サイトの MediaCache フォルダー (/App_Data/MediaCache/website) がその Web サーバーのディスクをいっぱいにします。そのサーバーでメディア キャッシュを完全に無効にすることもできると思いますが、可能であれば、各 Web サーバー間で同じ構成を維持することをお勧めします。

考え?

4

1 に答える 1

5

MediaCache フォルダがいっぱいになる問題は何ですか? そのサーバーにはたくさんのメディア アイテムや小さな (っぽい) ディスク サイズがあると思いますか? また、インデックス作成に Lucene を使用していないと仮定します。代わりに、クローラーが各ページにアクセスし、Google とほぼ同じ方法で html を「スクラップ」しますか? クローラーが HTML マークアップだけでなく画像を要求するのはなぜですか?

手がかりはわかりません。何かあるかもしれませんが、dotPeek で Sitecore Kernel を調べることを意味します。

ただし、現在あるものを使用すると、その 1 つのサーバーの構成ファイルを変更する必要があります。

MediaCache フォルダーのクリーンアップ タスクをより早く/より頻繁に実行するように設定できますが、親エージェントの間隔を同じに設定する必要があるため、Sitecore のおしゃべりが増えるだけです。

<agent type="Sitecore.Tasks.CleanupAgent" method="Run" interval="00:01:00">
  <files hint="raw:AddCommand">
    <remove folder="/App_Data/MediaCache" pattern="*.*" maxAge="00:01:00" recursive="true" />
  </files>
</agent>

個人的には、パッチ構成ファイルを使用して、そのフォルダーの MediaCache を無効にします。ただし、ディスク領域が不足しているほど多くのデータがある場合は、サーバー アーキテクチャが正しく設定されていることを確認してください。正しく設定されていないと、大量のネットワーク トラフィックが発生します。3 つのサーバー間に単一の共有データベースがある場合、これが問題になる可能性があります。

以下を .config ファイルに追加し、インデックス サーバーだけの /App_Config/include/ フォルダーに配置します。

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>
    <settings>
      <setting name="Media.CachingEnabled" value="false" />
    </settings>
  </sitecore>
</configuration>

<site name="website">または、特定の Web サイトの場合は、要素にパッチを適用し てcacheMedia="false".

インデックス サーバーとフロント エンド サーバーの URL が異なる場合は、インデックス サーバーがメディア アイテムの完全な URL を出力して、メディア アイテムがフロント エンド サーバーを指すようにすることを検討できます。そうすれば、代わりに画像がそれらのサーバーにキャッシュされます。

于 2013-01-30T20:39:33.823 に答える