Aggiornamento dei frammenti di contenuto per un filtro GraphQL ottimizzato updating-content-fragments-for-optimized-graphql-filtering
Per ottimizzare le prestazioni dei filtri di GraphQL, esegui una procedura per aggiornare i frammenti di contenuto.
Prerequisiti prerequisites
Questa attività presenta i seguenti prerequisiti:
-
Assicurati di disporre almeno della versione 2023.1.0 di AEM as a Cloud Service.
-
Assicurati che l’utente che esegue l’attività disponga delle autorizzazioni necessarie:
- come minimo,
Deployment Manager
ruolo in Cloud Manager è obbligatorio.
- come minimo,
Aggiornamento dei frammenti di contenuto updating-content-fragments
-
Abilita l’aggiornamento impostando le seguenti variabili per l’istanza tramite l’interfaccia utente di Cloud Manager:
Le variabili disponibili sono:
table 0-row-8 1-row-8 2-row-8 3-row-8 4-row-8 5-row-8 layout-auto html-authored Nome Valore Valore predefinito Servizio Applicato Tipo Note 1 “CF_MIGRATION_ENABLED” “1” “0” Tutti i bundle Variabile Abilita (!=0) o disabilita (0) l’attivazione del processo di migrazione dei frammenti di contenuto. 2 “CF_MIGRATION_ENFORCE” “1” “0” Tutti i bundle Variabile Applica (!=0) migrazione di frammenti di contenuto.
Se si imposta questo flag su 0, viene eseguita una migrazione incrementale dei CF. Ciò significa che, se il processo viene terminato per qualsiasi motivo, la successiva esecuzione del processo inizia la migrazione dal punto in cui è stato terminato. Si consiglia di eseguire la prima migrazione per l’applicazione (valore=1).3 “CF_MIGRATION_BATCH” “50” “50” Tutti i bundle Variabile Dimensione del batch per il salvataggio del numero di frammenti di contenuto dopo la migrazione.
Questo è rilevante per il numero di CF salvati nell’archivio in un batch e può essere utilizzato per ottimizzare il numero di scritture nell’archivio.4 “CF_MIGRATION_LIMIT” “1000” “1000” Tutti i bundle Variabile Numero massimo di frammenti di contenuto da elaborare alla volta.
Vedi anche le note per “CF_MIGRATION_INTERVAL”.5 “CF_MIGRATION_INTERVAL” “60” “600” Tutti i bundle Variabile Intervallo (secondi) per elaborare i frammenti di contenuto rimanenti fino al limite successivo
Questo intervallo viene anche considerato come un tempo di attesa prima di avviare il processo e un ritardo tra l'elaborazione di ogni successivo numero di CF CF CF_MIGRATION_LIMIT.
(*)note note NOTE (*) Il valore di CF_MIGRATION_INTERVAL
può inoltre essere utile per approssimare il tempo totale di esecuzione del processo di migrazione.Esempio: - Numero totale frammenti di contenuto = 20.000
- CF_MIGRATION_LIMIT = 1000
- CF_MIGRATION_INTERNAL = 60 (sec)
- Tempo approssimativo necessario per completare la migrazione = 60 + (20.000/1000 * 60) = 1260 sec = 21 minuti
I “60” secondi aggiuntivi aggiunti all’avvio sono dovuti al ritardo iniziale all’avvio del processo.
Questo è solo il minimo il tempo necessario per completare il processo e non include il tempo di I/O. Il tempo effettivamente impiegato potrebbe essere superiore a questa stima. -
Monitora l’avanzamento e il completamento dell’aggiornamento.
A questo scopo, controlla i registri sull’authoring e la pubblicazione in gold da:
-
com.adobe.cq.dam.cfm.impl.upgrade.UpgradeJob
-
Registri di authoring; ad esempio:
code language-shell 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}
-
Registri di pubblicazione in gold; ad esempio:
code language-shell 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}
-
I clienti che hanno abilitato l’accesso ai registri dell’ambiente utilizzando Splunk possono utilizzare la query di esempio riportata di seguito per monitorare il processo di aggiornamento. Per informazioni dettagliate sull’abilitazione della registrazione Splunk, consulta Debug di produzione e staging.
code language-splunk 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
Dove:
environmentId
- identificatore dell’ambiente del cliente; ad esempio,e1234
indexName
- nome di indice del cliente, per la raccolta di eventiaemerror
Esempio di output:
table 0-row-4 1-row-4 2-row-4 layout-auto _time 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} -
-
Disattiva la procedura di aggiornamento.
note important IMPORTANT Questo passaggio è necessario per completare l’aggiornamento. Al termine della procedura di aggiornamento, reimposta la variabile di ambiente cloud
CF_MIGRATION_ENABLED
a “0”, per attivare il riutilizzo di tutti i pod. -
table html-authored no-header table 0-row-8 1-row-8 layout-auto html-authored Nome Valore Valore predefinito Servizio Applicato Tipo Note “CF_MIGRATION_ENABLED” “0” “0” Tutti i bundle Variabile Disabilita(0) (o Abilita(!=0)) attivazione del processo di migrazione dei frammenti di contenuto. note note NOTE Questo è importante per il livello di pubblicazione, in quanto l’aggiornamento del contenuto viene eseguito solo su golden-publish e, quando si ricicla il pod, tutti i normali pod di pubblicazione si basano su golden-publish. Verificare il completamento della procedura di aggiornamento.
Puoi verificare il completamento corretto dell’aggiornamento utilizzando il browser dell’archivio nella Console per sviluppatori di Cloud Manager dove puoi controllare i dati dei frammenti di contenuto.
-
Prima di completare la prima migrazione,
cfGlobalVersion
la proprietà non esiste.
Pertanto, la presenza di questa proprietà sul nodo JCR/content/dam
con un valore di1
conferma il completamento della migrazione. -
Puoi anche controllare le seguenti proprietà sui singoli frammenti di contenuto:
_strucVersion
deve avere il valore di1
- La struttura
indexedData
deve esistere
note note NOTE La procedura aggiorna i frammenti di contenuto nelle istanze Author e Publish. Pertanto, Adobe consiglia di eseguire la verifica tramite il browser dell’archivio per almeno un autore e un’istanza Publish.
-
Limitazioni limitations
Tieni presente le seguenti limitazioni:
-
L’ottimizzazione delle prestazioni dei filtri di GraphQL è possibile solo dopo un aggiornamento completo di tutti i frammenti di contenuto (indicato dalla presenza di
cfGlobalVersion
proprietà per il nodo JCR/content/dam
) -
Se i frammenti di contenuto vengono importati da un pacchetto di contenuti (utilizzando
crx/de
) dopo l’esecuzione della procedura di aggiornamento, tali frammenti di contenuto non vengono considerati nei risultati della query GraphQL fino a quando la procedura di aggiornamento non viene eseguita nuovamente.