1. Managed Cloud PaaSの構成

推奨事項: AzureでのSitecoreチューニング

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

寄稿者: Kate Orlova

次の推奨事項では、Microsoft Azure機能を有効にし、AzureでSitecoreのパフォーマンスを向上させる方法について説明します。

IOチューニングによるサーバー・パフォーマンスの向上

ファイル・システムに対するディスクの読み取りおよび書き込み操作を最適化するには、次のようにします。

  • 最初の要求の後にファイルをキャッシュします。たとえば、重要なCSSファイルやJavaScriptファイルなどです。

  • ディスク上の操作の合計数を減らすには、ログ・レベルを割り当てます。ログ・レベル (Priority) は、ログに書き込まれるメッセージを制限します。たとえば、運用サーバーでは、エラーのみに関心がある場合があります。 <priority value="ERROR" />

  • AzureのPremium App Serviceプランにサブスクライブし、SSDディスクの使用を開始すると、可用性と待機時間が向上します。

コールドスタートを後押しする

ノードの強制再起動後、または新しいワーカープロセスに移動した後のコールドスタートの遅延を減らすために、web.configファイルでApplication Initialization設定を指定できます。たとえば、ホームページ、検索専用ページ、セクションのランディング ページなどの主要なページを追加します。

<system.webServer>

<applicationInitialization doAppInitAfterRestart="true">

<add initializationPage="/" />

<add initializationPage="/key-page1/" />

<add initializationPage="/key-section/page2/" />

</applicationInitialization>

</system.webServer>

アプリケーション初期化モジュールは、HTTPSではなくHTTPプロトコル経由でウォームアップ要求を送信するように設計されています。したがって、すべてのHTTPリクエストを関連するHTTPSリクエストにリダイレクトするようにWebサイトが設定されている場合は機能しません。 web.configファイルに次のものを追加して、書き換えルールからアプリケーションの初期化を除外できます。

<rewrite>

<rules>

<rule name="No redirect on warmup request" stopProcessing="true">

<match url=".*" />

<conditions>

<add input="{HTTP_HOST}" pattern="localhost" />

<add input="{HTTP_USER_AGENT}" pattern="Initialization" />

</conditions>

<action type="Rewrite" url="{URL}" />

</rule>

<rule name="HTTP to HTTPS redirect for all requests" stopProcessing="true">

<match url="(.*)" />

<conditions>

<add input="{HTTPS}" pattern="off" />

</conditions>

<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />

</rule>

</rules>

</rewrite>

リバースプロキシを有効にする

リバースプロキシを設定して、Webサイト上の特定のURLが不要なリダイレクトなしで外部サイトからコンテンツを取得できるようにすることができます。リバース プロキシ機能を有効にするには、アプリ サービスのサイト フォルダーにapplicationHost.xdt変換を追加します。たとえば、"/blog/” ファイルまたはレガシーファイルで始まるリクエストは、変換ルールを使用して上書きできます。

AzureのSitecoreでリバース プロキシを有効にするには、次の手順に従います。

  1. applicationHost.xdtファイルを使用してリバースプロキシ機能を有効にします。

    <?xml version="1.0"?>
    
    <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
    
    <system.webServer>
    
    <proxy xdt:Transform="InsertIfMissing" enabled="true" preserveHostHeader="false" reverseRewriteHostInResponseHeaders="false"/>
    
    </system.webServer>
    
    </configuration>
  2. プロキシ書き換えルールをweb.configファイルに追加します。

    <rewrite>
    
    <rules>
    
    <rule name="Proxy" stopprocessing="true">
    
    <match url="^blog/?(.*)" />
    
    <action type="Rewrite" url="http://www.yourblogdomain.com/{R:1}"/>
    
    </rule>
    
    </rules>
    
    </rewrite>
  3. Sitecoreがプロキシ要求をインターセプトしないようにするには、Sitecore設定パッチ ファイルを追加します。

    <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
    
    <sitecore>
    
    <settings>
    
    <setting name="IgnoreUrlPrefixes" value="/health/explore|/sitecore/default.aspx|..." patch:instead="setting[@name='IgnoreUrlPrefixes']"/>
    
    </settings>
    
    </sitecore>
    
    </configuration>

予期しないアプリケーションプールのリサイクルを防止

アプリケーションプールの突然のリサイクルが発生する理由は複数あります。たとえば、リサイクルは、DLLの変更や他のファイルの構成によってトリガーできます。デフォルトでは、アプリケーションはサブディレクトリごとに監視するオブジェクトを作成し、変更されたファイルごとにリサイクル通知を開始します。

アプリケーション プールのリサイクルにつながるOverwhelming File Change Notificationsエラーのリスクを最小限に抑えるには、File Change Notification (FCN) 設定をオフにします。

FCNをオフにするには:

  • web.configファイルのhttpRuntimeセクションにfcnMode="Disabled"を追加します。

    <system.web>
            <httpRuntime fcnMode="Disabled" />
     </system.web>
この記事を改善するための提案がある場合は、 お知らせください!