AEM 6.4中的儲存元素 storage-elements-in-aem
在本文中,我們將介紹:
AEM 6中的儲存概觀 overview-of-storage-in-aem
AEM 6最重要的變更之一,是存放庫層級的創新功能。
目前,AEM6中提供兩種節點儲存實作:Tar儲存和MongoDB儲存。
Tar儲存 tar-storage
使用Tar Storage執行新安裝的AEM執行個體 running-a-freshly-installed-aem-instance-with-tar-storage
依預設,AEM 6會使用Tar儲存來儲存節點和二進位檔,使用預設設定選項。 要手動配置其儲存設定,請遵循以下過程:
-
下載AEM 6 Quickstart Jar,並將其放入新資料夾中。
-
執行以解壓縮AEM:
java -jar cq-quickstart-6.jar -unpack
-
建立名為
crx-quickstart\install
(在安裝目錄中)。 -
建立檔案,稱為
org.apache.jackrabbit.oak.segment.SegmentNodeStoreService.cfg
在新建立的資料夾中。 -
編輯檔案並設定配置選項。 區段節點存放區提供下列選項,此為AEM Tar儲存實作的基礎:
repository.home
:儲存各種儲存庫相關資料的儲存庫首頁路徑。 依預設,區段檔案會儲存在crx-quickstart/segmentstore目錄下。tarmk.size
:段的最大大小(MB)。 預設為256MB。
-
啟動AEM。
Mongo儲存 mongo-storage
使用Mongo儲存執行新安裝的AEM執行個體 running-a-freshly-installed-aem-instance-with-mongo-storage
AEM 6可依照下列程式設定為透過MongoDB儲存執行:
-
下載AEM 6 Quickstart Jar,並將其放入新資料夾中。
-
執行下列命令來解壓縮AEM:
java -jar cq-quickstart-6.jar -unpack
-
請確定已安裝MongoDB,且
mongod
執行中。 如需詳細資訊,請參閱 安裝MongoDB. -
建立名為
crx-quickstart\install
(在安裝目錄中)。 -
建立組態檔,使用您要在
crx-quickstart\install
目錄。Document Node Store(是AEM MongoDB儲存實作的基礎)使用檔案,稱為
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.cfg
-
編輯檔案並設定配置選項。 可使用下列選項:
mongouri
:此 MongoURI 連接到Mongo資料庫所需。 預設為mongodb://localhost:27017
db
:Mongo資料庫的名稱。 依預設,新的AEM 6安裝會使用 aem-author 作為資料庫名稱。cache
:快取大小(MB)。 這分佈在DocumentNodeStore中使用的各種快取中。 預設為256。changesSize
:用於快取差異輸出的Mongo中封閉集合的大小(MB)。 預設為256。customBlobStore
:指示將使用自訂資料存放區的布林值。 預設值為false。
-
使用您要使用的資料儲存的PID建立配置檔案,並編輯該檔案以設定配置選項。 如需詳細資訊,請參閱 配置節點儲存和資料儲存.
-
執行以下作業,啟動AEM 6 jar並帶有MongoDB儲存後端:
code language-shell java -jar cq-quickstart-6.jar -r crx3,crx3mongo
其中
-r
是後端執行模式。 在此範例中,會從MongoDB支援開始。
禁用透明大頁 disabling-transparent-huge-pages
Red Hat Linux使用名為Transparent Heage Pages(THP)的記憶體管理算法。 當AEM執行微調讀取和寫入時,THP會針對大型作業而最佳化。 因此,建議您同時在Tar和Mongo儲存上停用THP。 若要停用演算法,請依照下列步驟操作:
-
開啟
/etc/grub.conf
檔案。 -
將下列行新增至 grub.conf 檔案:
code language-none transparent_hugepage=never
-
最後,檢查設定是否已通過運行生效:
code language-none cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
如果禁用了THP,則上述命令的輸出應為:
code language-none always madvise [never]
維護儲存庫 maintaining-the-repository
每個對儲存庫的更新都會建立新的內容修訂。 因此,每次更新時,存放庫的大小都會增加。 為避免儲存庫增長失控,需要清理舊修訂版本以釋放磁碟資源。 此維護功能稱為修訂清除。 修訂清除機制將從儲存庫中移除過時資料,從而回收磁碟空間。 如需修訂清除的詳細資訊,請參閱 修訂清除頁面.