上次更新時間
2021年4月29日
目標
本文將說明常見的資產調整設定及解決方法,可協助您最佳化資產效能。
資產效能最佳化
- 由於許多組織皆會使用防火牆偵測 HTTP 流量,而這會對上傳造成不良影響並毀損檔案,因此 Adobe 建議啟用 HTTPS。
- 若要上傳大型檔案,請使用有線連線而非無線連線。
- 停用透過 Tika 索引進行二進位檔案的全文搜尋
- 針對如下範例設定最佳化 JVM 參數並使用 Java 8:
XX:+UseConcMarkSweepGC = Enable Concurrent Mark Sweep (CMS) Collector-Doak.queryLimitInMemory=500000 -Doak.queryLimitReads=100000 -Dupdate.limit=250000 -Doak.fastQuerySize=true
- 調整 Sling 工作佇列: 批次上傳大型資產可能會使用到相當大量的資源。依預設,每個工作佇列的並行執行緒數量會等於 CPU 核心的數量,而這可能會影響整體效能與大量使用 Java 堆積,因此建議您不要使用超過 50% 的核心。若要變更此值,請前往 http://:/system/console/configMgr/org.apache.sling.event.jobs.QueueConfiguration,並將代管 AEM 例項之伺服器 CPU 核心數量的 queue.maxparallel 值設為半數 (例如,若為 8 個 CPU 核心,請將值設為 4)。
- 調整 CQBufferedImageCache 的快取大小: 假設您的系統使用的最大堆積 (-Xmx param) 為 5 GB,Oak BlobCache 設為 1 GB,而 Document 快取設為 2 GB。在此情況下,緩衝快取的最大使用量會是 1.25 GB,因此僅會留下 0.75 GB 記憶體作為意外流量突增使用。而最終會使 JVM 失敗,並出現 OutOfMemoryErrors。若要解決此問題,請降低緩衝影像快取的設定大小上限。當您上傳大量資產至 Adobe Experience Manager 時,請透過 OSGi Web 主控台調整緩衝快取大小。1. 前往 http://host:port/system/console/configMgr/com.day.cq.dam.core.impl.cache.CQBufferedImageCache。2. 以位元組為單位設定屬性 cq.dam.image.cache.max.memory,例如 1073741824 等於 1 GB (1024*1024*1024 = 1 GB)。注意: 自 AEM 6.1 SP1 起,如果您使用 sling:osgiConfig 節點設定此屬性,請務必將資料類型設為 Long。如需相關詳細資訊,請參閱本文。
- 使用 FileDataStore 時將 cacheSizeInMB 調整為可用堆積的百分比 (保守值為最大堆積的 2%)。例如,8-gigabyteheap:maxCachedBinarySize=1048576cacheSizeInMB=164。請注意,maxCachedBinarySize 是設為 1 MB (1048576),因此該屬性僅會快取最大大小為 1 MB 的檔案。所以,將該屬性的值調小可能較為合理。處理大量的二進位檔案時,Adobe 建議您使用外部資料存放區,不要使用預設節點存放區,才能有效提升效能。此外,Adobe 建議您調整下列參數:
• maxCachedBinarySize=10485760
• cacheSizeInMB=4096
警告: 如果將 cacheSizeInMB 設定太高,可能會造成 Java 程序將記憶體耗盡的狀況。例如,如果您將最大堆積大小設為 8 GB (-Xmx8g),但您預期 AEM 和應用程式使用 4 GB 的合併堆積,則將 cacheSizeInMB 設為 82 (而非 164) 會較為合理。,最大堆積 2% 至 10% 範圍內皆為安全設定。但是,強烈建議您在監控記憶體使用率的同時,透過負載測試驗證上述設定的變更。
- DAM 更新資產工作流程包含已針對各種作業設定的整套步驟,例如 Scene7 PTIFF 產生與 InDesign Server 整合。但是,大多數使用者可能不需要進行其中的多個步驟。Adobe 建議您建立 DAM 更新資產工作流程模型的自訂副本,並移除所有不必要的步驟。在此情況下,請更新 DAM 更新資產的啟動器,以指向新的模型。,
- 過渡性工作流程: 若要最佳化高擷取負載,Adobe 建議將 DAM 更新與 XMP 中繼資料寫回工作流程切換為過渡性工作流程。顧名思義,過渡性工作流程中與中繼工作步驟相關的執行階段資料,不會在執行時保留於 JCR 中 (但一定會保留輸出轉譯)。 如此將可減少 10% 的工作流程處理時間,並大幅降低儲存庫成長率。 您不再需要清除 CRUD 工作流程。此外,還能夠將 TAR 檔案的數量減至最少。如果貴公司指定使用持續性/封存性工作流程執行階段資料以供稽核之用,請勿啟用此功能。
- 選擇性轉譯產生: 新增條件至資產處理工作階段後,僅會產生您所需的轉譯,如此一來,耗用較多資源的轉譯僅會針對特定資產產生。/workflow/ Dam 更新資產 >> 程序縮圖步驟。
- 例項的共用資料存放區: 實作 S3 或共用檔案資料存放區有助於節省磁碟空間,並提高大規模實作的網路輸送量。但是,您可能需要額外進行維護此類部署的作業。然而,優點在於您可以換取到更佳的效能。
- 維護: 一般而言,您應每週執行清除工作流程。 但是,如果在大量使用資源的情況下 (例如,大規模資產擷取),您可以更頻繁地執行該作業。