728x90

이번 블로그는 클러스터를 구성하는 특정 노드가 재기동 시 메모리 Warmup 프로세스를 다루겠습니다. Couchbase 서버가 가 여러 가지 이유로 재기동하게 되면 메모리를 재구성하고 데이터 처리를 하게 되는데, 이 메모리 재구성 작업을 메모리 Warmup 프로세스로 부릅니다.

 

메모리 Warmup 프로세스는 다음과 같은 단계로 진행됩니다.

  1. 각 Bucket에 대해 디스크 내 데이터를 순차적으로 메모리에 적재
  2. 소요 시간은 노드의 시스템 용량, 노드에 저장된 데이터 용량, Bucket에 설정된 Ejection 정책(이후 블로그에서 다룰 예정) 등에 영향

 

특히 Data 서비스는 Access Scanner 프로그램에 의해 정해진 우선순위대로 데이터를 메모리에 적재합니다. 이 Access Scanner 프로그램은 다음 기준을 통해 작동합니다.

  • 전체 Active Bucket의 데이터 중 메모리에 적재되어 있는 데이터의 비율인 메모리 Resident Ratio를 기준으로 동작합니다. 즉 전체 Active Bucket의 데이터가 100 GB 인데, 메모리에 적재되어 있는 데이터가 80 GB 라면 메모리 Resident Ratio는 80%입니다.
  • 메모리 Resident Ratio가 95% 이하이면, 새로운 Access Log를 생성하고 최근 24시간 이내에 빈번하게 접근된 Document 정보를 기록하고 메모리 Warmup 프로세스의 최우선 순위로 선정합니다.
  • 메모리 Resident Ratio가 95% 초과이면, 새로운 Access Log를 생성하지 않고 기존 Access Log도 삭재합니다. 그리고 우선순위 없이 메모리 Warmup 프로세스 작업을 진행합니다.
  • Access Scanner 프로그램은 기본적으로 하루에 한 번 수행되지만 설정 가능합니다.

 

관련자료

https://docs.couchbase.com/server/current/learn/buckets-memory-and-storage/memory.html#initialization-and-warmup

'Couchbase 아키텍처' 카테고리의 다른 글

[데이터]Ejection  (0) 2022.08.16
[데이터]Storage 설정  (0) 2022.08.16
[데이터]메모리 관리 : 서비스 메모리 Quota  (0) 2022.08.15
[데이터]Caching & Persistence  (0) 2022.08.15
[데이터]Compression  (0) 2022.08.15

+ Recent posts