Aktualisieren von Inhaltsfragmenten für optimierte GraphQL-Filterung

Letzte Aktualisierung: 2023-10-17

Um die Leistung Ihrer GraphQL-Filter zu optimieren, führen Sie ein Verfahren aus, um Ihre Inhaltsfragmente zu aktualisieren.

HINWEIS

Nach dem Aktualisieren Ihrer Inhaltsfragmente können Sie den Empfehlungen für Optimieren von GraphQL-Abfragen.

Voraussetzungen

Es gibt Voraussetzungen für diese Aufgabe:

  1. Stellen Sie sicher, dass Sie mindestens Version 2023.1.0 von AEM as a Cloud Service haben.

  2. Stellen Sie sicher, dass die Person, die die Aufgabe ausführt, über die erforderlichen Berechtigungen verfügt:

    • mindestens die Deployment Manager Rolle in Cloud Manager erforderlich ist.

Aktualisieren von Inhaltsfragmenten

  1. Aktivieren Sie die Aktualisierung, indem Sie die folgenden Variablen für Ihre Instanz mithilfe der Cloud Manager-Benutzeroberfläche festlegen:

    Cloud Manager-Umgebungskonfiguration

    Die folgenden Variablen sind verfügbar:

      Name Wert Standardwert Service Applied Typ Anmerkungen
    1 `CF_MIGRATION_ENABLED` `1` `0` Alle Variable Aktiviert(!=0) oder deaktiviert (0) das Auslösen des Inhaltsfragment-Migrationsauftrags.
    2 `CF_MIGRATION_ENFORCE` `1` `0` Alle Variable Setzt die (!=0) Neumigration von Inhaltsfragmenten.
    Wenn Sie dieses Flag auf 0 setzen, wird eine inkrementelle Migration von CFs durchgeführt. Wenn der Auftrag aus irgendeinem Grund beendet wird, beginnt die Migration beim nächsten Ausführen des Auftrags ab dem Zeitpunkt, an dem er beendet wurde. Die erste Migration wird zur Durchsetzung empfohlen (Wert = 1).
    3 `CF_MIGRATION_BATCH` `50` `50` Alle Variable Größe des Batches zum Speichern der Anzahl der Inhaltsfragmente nach der Migration.
    Dies ist relevant für die Anzahl der CFs, die in einem Batch im Repository gespeichert werden, und kann zur Optimierung der Anzahl der Schreibvorgänge in das Repository verwendet werden.
    4 `CF_MIGRATION_LIMIT` `1.000` `1.000` Alle Variable Maximale Anzahl an Inhaltsfragmenten, die gleichzeitig verarbeitet werden sollen.
    Siehe auch Anmerkungen zu „CF_MIGRATION_INTERVAL“.
    5 `CF_MIGRATION_INTERVAL` `60` `600` Alle Variable Intervall (Sekunden) zur Verarbeitung der verbleibenden Inhaltsfragmente bis zum nächsten Limit
    Dieses Intervall gilt auch als Wartezeit vor dem Start des Auftrags und als Verzögerung zwischen der Verarbeitung jeder nachfolgenden CF_MIGRATION_LIMIT-Anzahl von CFs.
    (*)
    HINWEIS

    (*)

    Der Wert von CF_MIGRATION_INTERVAL kann auch dazu beitragen, die Gesamtausführungszeit des Migrationsauftrags abzuschätzen.

    Beispiel:

    • Gesamtzahl der Inhaltsfragmente = 20.000
    • CF_MIGRATION_LIMIT = 1000
    • CF_MIGRATION_INTERNAL = 60 (Sek.)
    • Ungefährer Zeitaufwand um die Migration abzuschließen = 60 + (20.000/1000 x 60) = 1260 Sek. = 21 Minuten
      Die zusätzlichen „60“ Sekunden, die zu Beginn hinzugefügt werden, sind auf die anfängliche Verzögerung beim Starten des Auftrags zurückzuführen.

    Dies ist nur der Minimum Zeit erforderlich, um den Auftrag abzuschließen, nicht jedoch die E/A-Zeit. Die tatsächlich benötigte Zeit könnte über dieser Schätzung liegen.

  2. Überwachen Sie den Fortschritt und den Abschluss der Aktualisierung.

    Überwachen Sie dazu die Protokolle auf Autor und Golden-Publish von:

    • com.adobe.cq.dam.cfm.impl.upgrade.UpgradeJob

      • Autor-Protokolle; Beispiel:

        23.01.2023 13:13:45.926 *INFO* [sling-threadpool-09cbdb47-4d99-4c4c-b6d5-781b635ee21b-(apache-sling-job-thread-pool)-1-Content Fragment Upgrade Job Queue Config(cfm/upgrader)] com.adobe.cq.dam.cfm.impl.upgrade.UpgradeJob This instance<dd9ffdc1-0c28-4d04-9a96-5d4d223e457e> is the leader, will schedule the upgrade schedule job.
        ...
        23.01.2023 13:13:45.941 *INFO* [sling-threadpool-09cbdb47-4d99-4c4c-b6d5-781b635ee21b-(apache-sling-job-thread-pool)-1-Content Fragment Upgrade Job Queue Config(cfm/upgrader)] com.adobe.cq.dam.cfm.impl.upgrade.UpgradeJob Scheduling content fragments upgrade from version 0 to 1, slingJobId: 2023/1/23/13/13/50e1a575-4cd7-497b-adf0-62cb5768eedb_0, enforce: true, limit: 1000, batch: 50, interval: 60s
        
        23.01.2023 13:20:40.960 *INFO* [sling-threadpool-09cbdb47-4d99-4c4c-b6d5-781b635ee21b-(apache-sling-job-thread-pool)-1-Content Fragment Upgrade Job Queue Config(cfm/upgrader)] com.adobe.cq.dam.cfm.impl.upgrade.UpgradeJob Finished content fragments upgrade in 6m, slingJobId: 2023/1/23/13/13/50e1a575-4cd7-497b-adf0-62cb5768eedb_0, status: MaintenanceJobStatus{jobState=SUCCEEDED, statusMessage='Upgrade to version '1' succeeded.', errors=[], successCount=3781, failedCount=0, skippedCount=0}
        
      • Golden-Publish-Protokolle; Beispiel:

        23.01.2023 12:35:05.150 *INFO* [sling-threadpool-8abcc1bb-cdcb-46d4-8565-942ad8a73209-(apache-sling-job-thread-pool)-1-Content Fragment Upgrade Job Queue Config(cfm/upgrader)] com.adobe.cq.dam.cfm.impl.upgrade.UpgradeJob This instance<ad1b399e-77be-408e-bc3f-57097498fddb> is the leader, will schedule the upgrade schedule job.
        
        23.01.2023 12:35:05.161 *INFO* [sling-threadpool-8abcc1bb-cdcb-46d4-8565-942ad8a73209-(apache-sling-job-thread-pool)-1-Content Fragment Upgrade Job Queue Config(cfm/upgrader)] com.adobe.cq.dam.cfm.impl.upgrade.UpgradeJob Scheduling content fragments upgrade from version 0 to 1, slingJobId: 2023/1/23/12/34/ad1b399e-77be-408e-bc3f-57097498fddb_0, enforce: true, limit: 1000, batch: 50, interval: 60s
        ...
        23.01.2023 12:40:45.180 *INFO* [sling-threadpool-8abcc1bb-cdcb-46d4-8565-942ad8a73209-(apache-sling-job-thread-pool)-1-Content Fragment Upgrade Job Queue Config(cfm/upgrader)] com.adobe.cq.dam.cfm.impl.upgrade.UpgradeJob Finished content fragments upgrade in 5m, slingJobId: 2023/1/23/12/34/ad1b399e-77be-408e-bc3f-57097498fddb_0, status: MaintenanceJobStatus{jobState=SUCCEEDED, statusMessage='Upgrade to version '1' succeeded.', errors=[], successCount=3781, failedCount=0, skippedCount=0}
        

    Kunden oder Kundinnen, die mithilfe von Splunk den Zugriff auf die Umgebungsprotokolle aktiviert haben, können die folgende Beispielabfrage verwenden, um den Aktualisierungsprozess zu überwachen. Weitere Informationen zum Aktivieren der Splunk-Protokollierung finden Sie unter Debugging von Produktion und Staging.

    index=<indexName> sourcetype=aemerror aem_envId=<environmentId> msg="*com.adobe.cq.dam.cfm.impl.upgrade.UpgradeJob Finished*"
    (aem_tier=golden-publish OR aem_tier=author) | table _time aem_tier pod_name msg | sort -_time desc
    

    Dabei gilt:

    • environmentId: eine Kennung der Kundenumgebung, z. B. e1234
    • indexName: ein Kundenindexname, der aemerror-Ereignisse sammelt

    Beispielausgabe:

    _Zeit aem_tier pod_name msg
    2023-04-21 06:00:35.723 author cm-p1234-e1234-aem-author-76d6dc4b79-8lsb5 [sling-threadpool-bb5da4dd-6b05-4230-93ea-1d5cd242e24f-(apache-sling-job-thread-pool)-1-Content Fragment Upgrade Job Queue Config(cfm/upgrader)] com.adobe.cq.dam.cfm.impl.upgrade.UpgradeJob Finished content fragments upgrade in 391m, slingJobId: 2023/4/20/23/16/db7963df-e267-489b-b69a-5930b0dadb37_0, status: MaintenanceJobStatus{jobState=SUCCEEDED, statusMessage='Upgrade to version '1' succeeded.', errors=[], successCount=36756, failedCount=0, skippedCount=0}
    2023-04-21 06:05:48.207 golden-publish cm-p1234-e1234-aem-golden-publish-644487c9c5-lvkv2 [sling-threadpool-284b9a9a-8454-461e-9bdb-44866c6ddfb1-(apache-sling-job-thread-pool)-1-Content Fragment Upgrade Job Queue Config(cfm/upgrader)] com.adobe.cq.dam.cfm.impl.upgrade.UpgradeJob Finished content fragments upgrade in 211m, slingJobId: 2023/4/20/23/15/66c1690a-cdb7-4e66-bc52-90f33394ddfc_0, status: MaintenanceJobStatus{jobState=SUCCEEDED, statusMessage='Upgrade to version '1' succeeded.', errors=[], successCount=19557, failedCount=0, skippedCount=0}
  3. Deaktivieren Sie das Aktualisierungsverfahren.

    WICHTIG

    Dieser Schritt ist erforderlich, um das Upgrade abzuschließen.

    Nachdem das Aktualisierungsverfahren ausgeführt wurde, setzen Sie die Cloud-Umgebungsvariable CF_MIGRATION_ENABLED auf „0“ zurück, um das Recycling aller Pods auszulösen.

  4.   Name Wert Standardwert Service Applied Typ Anmerkungen
    `CF_MIGRATION_ENABLED` `0` `0` Alle Variable Deaktiviert(0) (oder Aktiviert(!=0)) das Auslösen des Migrationsauftrags für Inhaltsfragment.
    HINWEIS

    Dies ist für die Veröffentlichungsstufe wichtig, da die Inhaltsaktualisierung nur auf "golden-publish"erfolgt und beim Recycling von Pods alle normalen Veröffentlichungs-Pods auf "golden-publish"basieren.

  5. Überprüfen Sie den Abschluss des Aktualisierungsvorgangs.

    Sie können den erfolgreichen Abschluss der Aktualisierung mithilfe des Repository-Browsers in der Cloud Manager Developer Console überprüfen, um die Inhaltsfragmentdaten zu überprüfen.

    • Vor der ersten vollständigen Migration wird die cfGlobalVersion -Eigenschaft nicht vorhanden ist.
      Das Vorhandensein dieser Eigenschaft auf dem JCR-Knoten /content/dam mit einem Wert von 1 bestätigt daher den Abschluss der Migration.

    • Sie können auch die folgenden Eigenschaften für die einzelnen Inhaltsfragmente überprüfen:

      • _strucVersion sollte den Wert von 1 haben
      • indexedData-Struktur muss vorhanden sein
      HINWEIS

      Das Verfahren aktualisiert Inhaltsfragmente in der Autoren- und Veröffentlichungsinstanz.

      Daher empfiehlt Adobe, dass Sie die Überprüfung über den Repository-Browser für mindestens ein Autor und eine Veröffentlichungsinstanz.

Einschränkungen

Beachten Sie die folgenden Einschränkungen:

  • Die Leistungsoptimierung von GraphQL-Filtern ist erst nach einer vollständigen Aktualisierung aller Inhaltsfragmente möglich (erkennbar an der Tatsache, dass die cfGlobalVersion -Eigenschaft für den JCR-Knoten /content/dam)

  • Wenn Inhaltsfragmente aus einem Inhaltspaket importiert werden (mithilfe von crx/de), nachdem das Aktualisierungsverfahren ausgeführt wurde, werden diese Inhaltsfragmente erst dann in den GraphQL-Abfrageergebnissen berücksichtigt, wenn das Aktualisierungsverfahren erneut ausgeführt wird.

Auf dieser Seite