アプリケーションの再起動後のcoreデータベースへの過度の負荷


解説

\App_Config\Prefetchフォルダーにある)初期プリフェッチ構成を使用すると、アプリケーションの起動時にプリフェッチ キャッシュを事前入力することができます。プリフェッチ キャッシュは、受信要求の処理時間を短縮するのに役立ちます。

Sitecore XP 9.0では、初期のプリフェッチ構成が改訂されました。Coreデータベースのプリフェッチ キャッシュは、Sitecoreクライアント インターフェイスのレンダリングに使用されるアイテムを含むように構成されました。

Sitecoreクライアント インターフェイスは、コンテンツ配信インスタンスでは使用されません。 Coreデータベースの初期プリフェッチ構成を無効にすると、CoreデータベースをホストしているSQL Serverでの過剰なリソース消費を回避することができます。

解決策

\App_Config\Sitecore.configファイルでCoreデータベースの構成を変更します:

<database id="core" singleInstance="true" type="Sitecore.Data.DefaultDatabase, Sitecore.Kernel">
  <param desc="name">$(id)</param>
  <connectionStringName>$(id)</connectionStringName>
  <icon>Images/database_core.png</icon>
  <dataProviders hint="list:AddDataProvider">
    <dataProvider ref="dataProviders/main" param1="$(id)">
      <prefetch role:require="ContentManagement or Standalone" hint="raw:AddPrefetch">
        <sc.include file="/App_Config/Prefetch/Common.config" />
        <sc.include file="/App_Config/Prefetch/Core.config" />
      </prefetch>
    </dataProvider>
  </dataProviders>
  ...
</database>