개정 정리 revision-cleanup
소개 introduction
저장소에 대한 각 업데이트에서는 새 컨텐츠 개정을 만듭니다. 따라서 각 업데이트 시 저장소의 크기가 증가합니다. 저장소 증가를 제어하지 않으려면 사용 가능한 디스크 리소스를 위해 이전 버전을 정리해야 합니다. 이 유지 관리 기능을 개정 정리라고 합니다. AEM 6.0 이후 오프라인 루틴으로 사용할 수 있습니다.
AEM 6.3에서는 온라인 개정 정리 라는 이 기능의 온라인 버전이 도입되었습니다. AEM 인스턴스를 종료해야 하는 오프라인 개정 정리 와 비교하여 AEM 인스턴스가 온라인 상태인 동안 온라인 개정 정리를 실행할 수 있습니다. 온라인 개정 정리 는 기본적으로 켜져 있으며 개정 정리를 수행하는 권장 방법입니다.
참고: 비디오를 참조하십시오 를 참조하십시오.
개정 정리 프로세스는 다음 세 단계로 구성됩니다. 측정, 압축 및 정리. 추정은 다음 단계(압축)를 실행할지 여부를 가비지 수집의 양을 기준으로 결정합니다. 압축 단계 세그먼트 및 tar 파일은 사용하지 않는 콘텐츠를 제외하고 다시 작성됩니다. 정리 단계는 이후에 포함할 수 있는 쓰레기를 포함하는 이전 세그먼트를 제거합니다. 오프라인 모드는 추가 세그먼트가 수집되지 않도록 하는 AEM 작업 세트를 고려해야 하므로 일반적으로 더 많은 공간을 확보할 수 있습니다.
개정 정리를 위한 자세한 내용은 다음 링크를 참조하십시오.
오프라인 개정 정리 대신 온라인 개정 정리를 언제 사용해야 합니까? when-to-use-online-revision-cleanup-as-opposed-to-offline-revision-cleanup
온라인 개정 정리 는 개정 정리를 수행하는 권장 방법입니다. 오프라인 개정 정리 는 새로운 스토리지 형식으로 마이그레이션하기 전 또는 고객 지원 센터에서 이러한 작업을 요청받는 경우 등 특별한 기준으로만 사용해야 합니다.
온라인 개정 정리 실행 방법 how-to-run-online-revision-cleanup
온라인 개정 정리 는 기본적으로 AEM 작성자 및 게시 인스턴스 둘 다에서 하루에 한 번 자동으로 실행되도록 구성됩니다. 최소한의 사용자 활동이 있는 기간 동안 유지 관리 창을 정의하기만 하면 됩니다. 다음과 같이 온라인 개정 정리 작업을 구성할 수 있습니다.
-
기본 AEM 창에서 도구 - 작업 - 대시보드 - 유지 관리 또는 브라우저를 다음과 같은 위치로 보냅니다.
https://serveraddress:serverport/libs/granite/operations/content/maintenance.html
-
마우스로 가리키기 일별 유지 관리 창 을 클릭하고 설정 아이콘.
-
원하는 값(되풀이, 시작 시간, 종료 시간)을 입력하고 저장.
또는 개정 정리 작업을 수동으로 실행하려면 다음을 수행할 수 있습니다.
-
이동 도구 - 작업 - 대시보드 - 유지 관리 또는 직접 찾아보거나
https://serveraddress:serverport/libs/granite/operations/content/maintenance.html
-
을(를) 클릭합니다. 일별 유지 관리 창.
-
마우스를 위에 놓으십시오 개정 정리 아이콘.
-
클릭 실행.
오프라인 개정 정리 후 온라인 개정 정리 실행 running-online-revision-cleanup-after-offline-revision-cleanup
개정 정리 프로세스는 세대별로 이전 개정을 다시 처리합니다. 즉, 개정 정리를 실행할 때마다 새로운 생성이 만들어지고 디스크에 유지됩니다. 그러나 두 가지 수정 정리 유형 간에는 차이가 있습니다. 오프라인 개정 정리를 사용하면 1세대, 온라인 개정 정리 시 2세대 간에 차이가 없습니다. 따라서 온라인 개정 정리를 실행할 때 after 오프라인 개정 정리:
- 첫 번째 온라인 개정 정리 실행 후 저장소의 크기가 두 배로 증가합니다. 이런 일은 현재 디스크에 2세대 동안 보관되어 있기 때문입니다.
- 온라인 개정 정리 프로세스는 이전 세대를 재실행함에 따라, 이후 실행 중에 새로운 생성이 생성되는 동안 저장소가 일시적으로 확장되고 첫 번째 실행 후 다시 원래 크기로 안정화됩니다.
또한 커밋 유형 및 횟수에 따라 각 생성의 크기가 이전 생성과 비교하여 다를 수 있으므로 최종 크기는 한 실행마다 다를 수 있습니다.
이러한 사실로 인해 디스크 크기를 최초 예상 저장소 크기보다 최소 2~3배 더 크게 하는 것이 좋습니다.
전체 및 테일 압축 모드 full-and-tail-compaction-modes
AEM 6.4 소개 새로운 모드 대상 압축 온라인 개정 정리 프로세스의 단계:
- 다음 완전한 압축 모드는 전체 리포지토리의 모든 세그먼트와 tar 파일을 다시 기록합니다. 따라서 후속 정리 단계에서는 저장소에 있는 최대 가비지 양을 제거할 수 있습니다. 전체 압축은 전체 저장소에 영향을 주므로 상당한 양의 시스템 리소스와 완료 시간이 필요합니다. 전체 압축은 AEM 6.3의 압축 단계에 해당합니다.
- 다음 테일 압축 모드는 리포지토리의 가장 최근 세그먼트와 tar 파일만 다시 기록합니다. 가장 최근 세그먼트와 tar 파일은 전체 또는 세부 압축이 마지막으로 실행된 이후 추가된 세그먼트입니다. 따라서 후속 정리 단계에서는 저장소의 최근 부분에 포함된 쓰레기만 제거할 수 있습니다. 테일 압축은 저장소의 부분에만 영향을 주므로 전체 압축보다 시스템 리소스와 완료 시간이 상당히 적게 필요합니다.
이러한 압축 모드는 효율성과 자원 소비 간의 차단을 구성합니다. 테일 압축은 덜 효과적이지만 정상적인 시스템 운영에도 영향을 덜 줍니다. 반면 전체 압축은 효과적이지만 정상적인 시스템 운영에는 더 큰 영향을 줍니다.
또한 AEM 6.4에서는 압축 중에 더욱 효율적인 컨텐츠 중복 제거 메커니즘을 도입하여 저장소의 온디스크 공간을 더욱 줄여줍니다.
아래 두 차트는 AEM 6.3과 비교하여 AEM 6.4의 평균 실행 시간과 디스크의 평균 사용 공간을 감소시킨 내부 실험 테스트 결과를 보여줍니다.
전체 및 세부 압축을 구성하는 방법 how-to-configure-full-and-tail-compaction
기본 구성은 주 일마다, 일요일에는 전체 압축이 실행됩니다. 기본 구성은 새 구성 값을 사용하여 변경할 수 있습니다 full.gc.days
의 RevisionCleanupTask
유지 작업.
를 구성할 때 full.gc.days
값은 값에 정의되지 않은 일 동안 값과 테일 압축에 정의된 일 동안 전체 압축이 실행됩니다. 예를 들어 일요일에 전체 압축이 실행되도록 구성하는 경우 월요일부터 토요일까지 후속 압축이 실행됩니다. 예를 들어 매일 실행되도록 전체 압축을 구성하면 테일 압축이 전혀 실행되지 않습니다.
또한 다음 사항을 고려하십시오.
- 테일 압축 이 기능은 효과적이지 않고 정상적인 시스템 운영에 미치는 영향이 적습니다. 따라서 영업일 동안 실행되도록 합니다.
- 전체 압축 이 기능은 더 효과적이지만 정상적인 시스템 운영에도 더 큰 영향을 줍니다. 따라서 영업일 중에 사용하려고 합니다.
- 테일 압축과 전체 압축은 모두 비성수기 동안 실행되도록 예약해야 합니다.
문제 해결 troubleshooting
새 압축 모드를 사용할 때는 다음 사항에 유의하십시오.
- 입출력(I/O) 활동을 모니터링할 수 있습니다. 예를 들면 다음과 같습니다. I/O 작업, IO 대기 중인 CPU, 커밋 큐 크기 이렇게 하면 시스템이 I/O로 바인딩되고 있고 업사이징이 필요한지 여부를 판별할 수 있습니다.
- 다음
RevisionCleanupTaskHealthCheck
온라인 개정 정리 의 전체 상태 상태를 나타냅니다. AEM 6.3에서와 동일한 방식으로 작동하며 전체 압축과 테일 압축을 구분하지 않습니다. - 로그 메시지에는 압축 모드에 대한 관련 정보가 들어 있습니다. 예를 들어 온라인 개정 정리를 시작하면 해당 로그 메시지에 압축 모드가 표시됩니다. 또한 일부 경우에 따라 시스템이 테일 압축을 실행하도록 예약된 경우 전체 압축으로 복원되고 로그 메시지에 이 변경 사항이 표시됩니다. 아래의 로그 샘플은 압축 모드와 테일에서 전체 압축으로 변경 사항을 나타냅니다.
TarMK GC: running tail compaction
TarMK GC: no base state available, running full compaction instead
알려진 제한 사항 known-limitations
경우에 따라 테일과 전체 압축 모드 간에 교대로 인해 정리 프로세스가 지연됩니다. 보다 정확하게 말하면 리포지토리는 전체 압축 후 증가합니다(크기는 두 배로 늘어남). 저장소가 전체 압축 크기 이하로 떨어질 때 추가 공간은 이후 테일 압축에서 회수됩니다. 병렬 유지 관리 작업 실행도 피해야 합니다.
디스크 크기를 처음에 예상되는 저장소 크기보다 최소 2~3배 더 크게 하는 것이 좋습니다.
온라인 개정 정리 FAQ online-revision-cleanup-frequently-asked-questions
AEM 6.4 업그레이드 고려 사항 aem-upgrade-considerations
Oak 세그먼트 Tar로 마이그레이션 migrating-to-oak-segment-tar
온라인 개정 정리 실행 running-online-revision-cleanup
온라인 개정 정리 모니터링 monitoring-online-revision-cleanup
온라인 개정 정리 문제 해결 troubleshooting-online-revision-cleanup
오류 메시지에 기반한 문제 해결 troubleshooting-based-on-error-messages
온라인 개정 정리 프로세스 중에 사고가 발생하면 error.log가 자세히 표시됩니다. 다음 매트릭스는 가장 일반적인 메시지를 설명하고 가능한 솔루션을 제공하는 것을 목표로 합니다.
오프라인 개정 정리 실행 방법 how-to-run-offline-revision-cleanup
-
Oak 버전용 1.0.01.0.11**또는**1.1.01.1.6, oak-run 버전 1.0.11 사용
-
Oak 버전용 위 보다 최신 를 설정하는 경우 AEM 설치의 Oak 코어와 일치하는 Oak-run 버전을 사용합니다.
Adobe은 Oak-run 을 참조하십시오. 다음 위치에서 다운로드할 수 있습니다.
https://repo1.maven.org/maven2/org/apache/jackrabbit/oak-run/
도구는 리포지토리를 압축하기 위해 수동으로 실행할 수 있는 실행 가능한 jar입니다. 도구를 제대로 실행하려면 리포지토리를 종료해야 하므로 이 프로세스를 오프라인 개정 정리 라고 합니다. 유지 관리 기간에 따라 정리를 계획해야 합니다.
정리 프로세스의 성능을 향상시키는 방법에 대한 팁은 다음을 참조하십시오 오프라인 개정 정리 성능 향상.
-
항상 AEM 인스턴스의 최근 백업이 있는지 확인하십시오.
AEM을 종료합니다.
-
(선택 사항) 도구를 사용하여 이전 체크포인트를 찾습니다.
code language-xml java -jar oak-run.jar checkpoints install-folder/crx-quickstart/repository/segmentstore
-
(선택 사항) 그런 다음 참조되지 않은 체크포인트를 삭제합니다.
code language-xml java -jar oak-run.jar checkpoints install-folder/crx-quickstart/repository/segmentstore rm-unreferenced
-
압축을 실행하고 완료될 때까지 기다립니다.
code language-xml java -jar -Dsun.arch.data.model=32 oak-run.jar compact install-folder/crx-quickstart/repository/segmentstore
오프라인 개정 정리 성능 향상 increasing-the-performance-of-offline-revision-cleanup
oak-run 도구에서는 개정 정리 프로세스의 성능을 높이고 유지 관리 기간을 가능한 한 최소화하려는 몇 가지 기능을 도입합니다.
이 목록에는 아래 설명된 대로 여러 명령줄 매개 변수가 포함되어 있습니다.
-
-mmap. 이를 true 또는 false로 설정할 수 있습니다. true로 설정하면 메모리 매핑 액세스가 사용됩니다. false로 설정하면 파일 액세스가 사용됩니다. 지정하지 않으면 64비트 시스템에서 메모리 매핑 액세스를 사용하고 32비트 시스템에서 파일 액세스를 사용합니다. Windows에서는 일반 파일 액세스가 항상 적용되며 이 옵션은 무시됩니다. 이 매개 변수는 -Dtar.memoryMapped 매개 변수를 대체했습니다.
-
-Dupdate.limit. 임시 트랜잭션 대 디스크 플러시 임계값을 정의합니다. 기본값은 10000입니다.
-
-Decompress-interval. 현재 맵을 압축할 때까지 유지할 압축 맵 항목 수입니다. 기본값은 1000000입니다. 충분한 heap 메모리를 사용할 수 있는 경우 처리 속도를 높이기 위해 이 값을 더 높은 수로 늘려야 합니다. 이 매개 변수는 Oak 버전 1.6에서 제거되었으며 영향을 주지 않습니다.
-
-Dcomaction-progress-log. 기록될 압축 노드 수입니다. 기본값은 150000이며, 이 경우 작업 중에 첫 150000 압축 노드가 기록됩니다. 아래 설명된 다음 매개 변수와 함께 사용합니다.
-
-Dtar.PersistComactionMap을 참조하십시오. 압축 맵 지속을 위해 heap 메모리 대신 디스크 공간을 사용하려면 이 매개 변수를 true로 설정합니다. oak-run 도구 필요 버전 1.4 더 높이 자세한 내용은 오프라인 개정 정리 FAQ 섹션을 참조하십시오. 이 매개 변수는 Oak 버전 1.6에서 제거되었으며 영향을 주지 않습니다.
-
- 강제. 압축을 강제 적용하고 일치하지 않는 세그먼트 저장소 버전을 무시합니다.
--force
매개 변수는 세그먼트 저장소를 이전 Oak 버전과 호환되지 않는 최신 버전으로 업그레이드합니다. 또한 다운그레이드는 불가능합니다. 일반적으로 이러한 매개 변수는 사용하는 방법에 대해 알고 있는 경우에만 주의하고 사용해야 합니다.사용 중인 매개 변수의 예:
java -Dupdate.limit=10000 -Dcompaction-progress-log=150000 -Dlogback.configurationFile=logback.xml -Xmx8g -jar oak-run-*.jar checkpoints <repository>
개정 정리를 트리거하는 추가 방법 additional-methods-of-triggering-revision-cleanup
위에 표시된 방법 외에도 다음과 같이 JMX 콘솔을 사용하여 개정 정리 메커니즘을 트리거할 수도 있습니다.
- 로 이동하여 JMX 콘솔을 엽니다. http://localhost:4502/system/console/jmx
- 을(를) 클릭합니다. RevisionGarbageCollection MBean.
- 다음 창에서 startRevisionGC() 그리고 호출 수정 가비지 수집 작업을 시작합니다.