기술_Elasticsearch

샤드 요청 캐시 설정

구일칠구 2022. 6. 25. 16:12

샤드 요청 캐시 설정

인덱스 또는 여러 인덱스에 대해 검색 요청이 실행되면 관련된 각 샤드가 로컬에서 검색을 실행하고 해당 샤드 수준의 결과를 '글로벌'결과 집합으로 결합 하는 조정 노드에 로컬 결과를 반환합니다 .

샤드 수준 요청 캐시 모듈은 각 샤드의 로컬 결과를 캐시합니다. 이렇게하면 자주 사용되는 (그리고 잠재적으로 과중한) 검색 요청이 거의 즉시 결과를 반환 할 수 있습니다. 요청 캐시는 가장 최근 색인 만 활발하게 업데이트되는 로깅 사용 사례에 매우 적합합니다. 이전 색인의 결과는 캐시에서 직접 제공됩니다.

기본적으로 요청 캐시는 검색 요청 결과 만 캐시 size=0하므로 캐시하지 않고 , 집계 제안 사항을hits 캐시 합니다 .hits.total

사용하는 대부분의 쿼리 now( Date Math 참조 )는 캐시 할 수 없습니다.

캐시 Math.random()되거나 new Date()캐시되지 않는 비 결정적 API 호출을 사용하는 스크립팅 된 쿼리입니다 .

캐시 무효화

캐시는 스마트합니다 . 캐시되지 않은 검색 거의 동일한 실시간 약속을 유지합니다 .

캐시 된 결과는 샤드가 새로 고쳐질 때마다 자동으로 무효화되지만 샤드의 데이터가 실제로 변경된 경우에만 무효화됩니다. 즉, 캐시되지 않은 검색 요청과 동일한 결과를 항상 캐시에서 얻습니다.

새로 고침 간격이 길수록 캐시 된 항목의 유효 기간이 길어집니다. 캐시가 가득 차면 가장 최근에 사용한 캐시 키가 제거됩니다.

clear-cacheAPI를 사용하여 캐시를 수동으로 만료 할 수 있습니다 .

캐싱 활성화 및 비활성화

캐시는 기본적으로 활성화되어 있지만 다음과 같이 새 인덱스를 생성 할 때 비활성화 할 수 있습니다.

PUT / my-index-000001 { "settings" : { "index.requests.cache.enable" : false } }

요청 당 캐싱 활성화 및 비활성화

request_cache쿼리 문자열 매개 변수를 사용하거나 사용에 캐시를 사용하지 않도록 설정하는 데 사용할 수있는 당 요청 으로. 설정된 경우 인덱스 수준 설정을 재정의합니다.

캐시 키

전체 JSON 본문이 캐시 키로 사용됩니다. 즉, JSON이 변경되면 (예 : 키가 다른 순서로 출력되는 경우) 캐시 키가 인식되지 않습니다.

대부분의 JSON 라이브러리 는 JSON 키가 항상 동일한 순서로 생성되도록 하는 표준 모드를 지원합니다 . 이 표준 모드는 요청이 항상 동일한 방식으로 직렬화되도록 애플리케이션에서 사용할 수 있습니다.

캐시 설정

캐시는 노드 레벨에서 관리되며 1% 의 기본 최대 크기를 갖습니다 . 다음을 사용하여 config/elasticsearch.yml파일 에서 변경할 수 있습니다 .

indices.requests.cache. 크기 : 2 %

'기술_Elasticsearch' 카테고리의 다른 글

O3fs (Hadoop 호환)  (0) 2022.08.10
전송  (0) 2022.06.25
노드 쿼리 캐시 설정  (0) 2022.06.25
콜드 데이터 노드  (0) 2022.06.25
투표 전용 마스터 적격 노드  (0) 2022.06.25