Azure Web AppsにてPublishing Serviceを64ビットプロセスとして実行する方法


説明

この記事では、Azure Web Apps上でSitecore Publishing Service Hostを64ビット アプリケーションとして実行するための切り替えの手順を説明します。

デフォルトでは、PaaS上でPublishing Serviceをデプロイする際、App Serviceが64ビットであるにもかかわらず、Azureは32ビットのプロセスを作成します。32ビット プロセスには、仮想メモリが4GBに制限されるという短所があり、アプリケーションがこの制限に到達すると、未処理の「System.OutOfMemoryException」例外をスローする可能性があります。また、大量のアイテムを一括でパブリッシュしたり、大量のリンクを持つ単一のアイテムをパブリッシュしたりすると処理が遅くなる可能性があります。

解決策

以下の手順に従って、Sitecore Publishing Service Hostを64ビット アプリケーションで実行するように設定することを推奨します:

  1. Publishing Service App Serviceが64ビット アプリケーションであることを確認します:
    1. AzureポータルにてApp Servicesにアクセスします。
    2. App Services画面にて、Publishing Service App Serviceに移動します。
    3. 設定」メニュー配下の「構成」を押下します。
    4. 全般設定」ペインにて「プラットフォーム設定」配下の「プラットフォーム」の値が64ビットに設定されているかを確認します。

      GeneralSettings.png

  2. プラットフォーム」の値を64ビットに設定した後、以下のようにPublishing Serviceのweb.configファイルを編集します:
    1. App Service Editor (Preview)内のPublishing Service App Serviceを開きます。
    2. アプリケーションのルート フォルダーにてweb.configファイルを検索して開きます。
    3. ファイルの場所に応じて、<aspNetCore>ノードのprocessPath属性の値を「dotnet」から「C:\Program Files\dotnet\dotnet.exe」 または「D:\Program Files\dotnet\dotnet.exe」に変更します。dotnet.exeファイルはApp Serviceファイル システムに存在しており、Kuduサービスを使用してC:またはD:ドライブのいずれかに配置できます。
  3. 概要」画面にて「停止」、「再起動」の順に押下してPublishing Service App Serviceを再起動します。