12.3. Ceph BlueStore 캐싱
BlueStore 캐시는 OSD 데몬이 디스크에 읽거나 디스크에 쓰기 때문에 구성에 따라 데이터로 채울 수 있는 버퍼 컬렉션입니다. 기본적으로 Red Hat Ceph Storage에서는 BlueStore가 읽기 시 캐시되지만 쓸 수는 없습니다. 이는 캐시 제거와 관련된 잠재적인 오버헤드를 방지하기 위해 bluestore_default_buffered_write
옵션이 false
로 설정되어 있기 때문입니다.
bluestore_default_buffered_write
옵션이 true
로 설정되면 데이터가 먼저 버퍼에 기록된 다음 디스크에 커밋됩니다. 이후 클라이언트에 쓰기 승인이 전송되어 해당 데이터가 제거될 때까지 캐시에 이미 있는 데이터에 대한 보다 빠르게 액세스할 수 있습니다.
읽기 집약적인 워크로드는 BlueStore 캐싱의 즉각적인 이점을 볼 수 없습니다. 더 많은 읽기가 수행되면 캐시는 시간이 지남에 따라 증가하며 후속 읽기는 성능이 향상됩니다. 캐시가 채우는 속도는 BlueStore 블록 및 데이터베이스 디스크 유형 및 클라이언트의 워크로드 요구 사항에 따라 다릅니다.
bluestore_default_buffered_write
옵션을 활성화하기 전에 Red Hat 지원에 문의하십시오.
캐시 사용 기간 연결
Red Hat Ceph Storage는 다른 캐시의 항목을 "age bins"와 연관시켜 모든 캐시 항목의 상대적 사용 기간을 확인합니다. 예를 들어, BlueStore의 cache에 있는 BlueStore 항목이 오래되면 핫 읽기 워크로드가 단일 큰 오브젝트에 대해 수행됩니다. 해당 OSD의 우선 순위 캐시는 이전 항목을 hot 오브젝트의 버퍼 캐시 데이터보다 낮은 우선 순위 수준으로 정렬합니다. 일반적으로 Ceph가 지정된 우선 순위 수준에서는 크게 선호될 수 있지만, 이 핫 워크로드 시나리오에서는 더 오래된 우선 순위 수준이 핫 워크로드 데이터보다 우선 순위가 낮을 수 있으므로 버퍼 데이터 메모리 요청이 먼저 충족될 수 있습니다.