일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- flask
- analyzer test
- Mac
- API
- MySQL
- token filter test
- aggregation
- 파이썬
- 900gle
- matplotlib
- licence delete curl
- 차트
- Python
- docker
- zip 암호화
- Elasticsearch
- plugin
- TensorFlow
- Java
- sort
- Kafka
- high level client
- License
- ELASTIC
- zip 파일 암호화
- aggs
- license delete
- springboot
- Test
- query
- Today
- Total
개발잡부
[es] elasticsearch cache 모니터링 (query_cache, request_cache) 본문
[es] elasticsearch cache 모니터링 (query_cache, request_cache)
닉의네임 2023. 9. 25. 08:02검색 결과 리스팅은 Query Cache에, 검색 결과에 대한 집계 는 Request Cache 에 저장 된다
그렇다면 둘다 확인해서 multi_match + aggs 의 결과가 어디에 캐싱된건지 확인
GET /location-index/_stats/query_cache?human
{
"_shards": {
"total": 2,
"successful": 2,
"failed": 0
},
"_all": {
"primaries": {
"query_cache": {
"memory_size": "0b",
"memory_size_in_bytes": 0,
"total_count": 0,
"hit_count": 0,
"miss_count": 0,
"cache_size": 0,
"cache_count": 0,
"evictions": 0
}
},
"total": {
"query_cache": {
"memory_size": "0b",
"memory_size_in_bytes": 0,
"total_count": 0,
"hit_count": 0,
"miss_count": 0,
"cache_size": 0,
"cache_count": 0,
"evictions": 0
}
}
},
"indices": {
"location-index": {
"uuid": "zA8IsMKdRjyjGK4KtIUXsg",
"health": "green",
"status": "open",
"primaries": {
"query_cache": {
"memory_size": "0b",
"memory_size_in_bytes": 0,
"total_count": 0,
"hit_count": 0,
"miss_count": 0,
"cache_size": 0,
"cache_count": 0,
"evictions": 0
}
},
"total": {
"query_cache": {
"memory_size": "0b",
"memory_size_in_bytes": 0,
"total_count": 0,
"hit_count": 0,
"miss_count": 0,
"cache_size": 0,
"cache_count": 0,
"evictions": 0
}
}
}
}
}
GET /_nodes/stats/indices/request_cache?human
{
"_nodes": {
"total": 1,
"successful": 1,
"failed": 0
},
"cluster_name": "docker-cluster",
"nodes": {
"bpumm1NjRAiDyuAgBN6XpQ": {
"timestamp": 1695543724849,
"name": "ee861c7e21e4",
"transport_address": "172.18.0.2:9300",
"host": "172.18.0.2",
"ip": "172.18.0.2:9300",
"roles": [
"data",
"data_cold",
"data_content",
"data_frozen",
"data_hot",
"data_warm",
"ingest",
"master",
"ml",
"remote_cluster_client",
"transform"
],
"attributes": {
"ml.machine_memory": "2081312768",
"xpack.installed": "true",
"ml.allocated_processors_double": "8.0",
"ml.max_jvm_size": "536870912",
"ml.allocated_processors": "8"
},
"indices": {
"request_cache": {
"memory_size": "22.1kb",
"memory_size_in_bytes": 22720,
"evictions": 0,
"hit_count": 0,
"miss_count": 59
}
}
}
}
}
이런식으로 닝겐이 알아보기 쉽게? 표시해주는데 테스트해보자
캐시삭제
POST /<target>/_cache/clear
POST /_cache/clear
case 1.
케시 지우고
multi_match + aggs 2개 필드 조회 X 300 키워드
query
캐싱은 되지 않았고 (캐시 사이즈 변경 없음) Aggs 속도는 50개 키워드 X 6회 반복 이였는데 첫 쿼리에서 저런 모양이.
Case 2.
케시 지우고
multi_match 쿼리만 X 300 키워드 실행
캐싱은 되지 않았고 (캐시 사이즈 변경 없음) Aggs 속도는 50개 키워드 X 6회 반복 간헐적으로 응답시간이 튀기는 하나. ms 단위의 차이라서 크게 의미는 없어보임.
Case 3.
케시 지우고
multi_match + aggs 2개 필드 조회 X 300 키워드 + multi_match X 300 키워드
캐싱은 되지 않았고 (캐시 사이즈 변경 없음) multi_match + aggs 2개 필드 조회 X 300 키워드 + multi_match X 300 키워드를 두번 실행한 결과값과 동일
- 이렇게 두번 실행한 이유는 aggs 결과를 먼저 캐싱해서 만들고 multi_match 쿼리를 실행 했을때 결과를 비교하기 위함
Case4.
케시 지우고
multi_match + aggs 2개 필드 조회 (캐시생성) X 300 키워드 + multi_match X 300 키워드
1회부터 50회 까지의 집계결과가 캐싱되었고 데이터 조회가 디스크레벨을 조회하기전에 캐싱된 데이터에서 처리하고 있어 응답시간 감소 후 유지
캐싱데이터는 JVM heap 에 할당된 나머지 인스턴스의 메모리를 사용한다.
작업환경
로컬 경로 : /Users/doo/project/tf-embeddings/location/cache_test
가상환경 : conda activate doo
실행파일 : cache_aggs.py
[참고]
https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-stats.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-stats.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-stats.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-clearcache.html
'ElasticStack > Elasticsearch' 카테고리의 다른 글
[es] aggs sort & cadinality (0) | 2023.11.17 |
---|---|
Aggs cardinality (0) | 2023.11.13 |
[es] file system cache 를 이용한.. (2) | 2023.09.25 |
[es] Warm up global ordinals (0) | 2023.09.25 |
[es] elasticsearch 성능개선 (elasticsearch cache) (0) | 2023.09.25 |