일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- aggregation
- Mac
- Test
- aggs
- token filter test
- plugin
- Elasticsearch
- docker
- flask
- analyzer test
- Python
- springboot
- matplotlib
- 파이썬
- zip 파일 암호화
- licence delete curl
- License
- 900gle
- TensorFlow
- ELASTIC
- Java
- zip 암호화
- MySQL
- license delete
- query
- sort
- 차트
- high level client
- Kafka
- API
- Today
- Total
목록전체 글 (483)
개발잡부
Vavr는 Java에서 함수형 프로그래밍(FP)을 지원하는 라이브러리입니다.이 라이브러리는 Java의 전통적인 객체 지향 프로그래밍 스타일을 보완하며, 함수형 프로그래밍 패러다임을 더 쉽게 구현할 수 있도록 도와줍니다. Vavr은 Java에서 부족한 함수형 프로그래밍 관련 기능을 제공하고, 불변성, 함수형 데이터 구조, 고차 함수, 패턴 매칭 등의 개념을 지원합니다.주요 기능함수형 데이터 구조: Vavr은 불변 컬렉션과 데이터 구조를 제공합니다. 예를 들어, List, Map, Set 등 Java 표준 라이브러리의 컬렉션들과 유사한 자료구조를 제공하지만, 이들은 모두 불변입니다. 불변성은 멀티스레드 환경에서 안전하게 사용할 수 있다는 장점이 있습니다.옵셔널 타입: Java의 Optional 클래스와 유사..

AS-IS: 6서버 1노드 1샤드 (primary 3, replica 1) 각 데이터 노드별로 1개의 샤드 구성 - 운영과 동일한 구조TO-BE: 6서버 1노드 1샤드 (primary 3, replica 3) 각 데이터 노드별로 2개의 샤드 구성 데이터 구성As-is: prd data copy index (07월10일 PRD데이터)To-be: prd data copy index (07월10일 PRD데이터)QA api 호출100건/초데이터 추출 기준: 2024-03-01 09:00:00 ~ 2024-03-01 09:30:00 까지 5분간격 으로 10,000 개씩 7만개 추출 (중복제거를 하지 않은 request 추출)sleep 0.3초최초 1회 es cache 초기화 후 실행7만개 키워드 1회 실행 후 ..

샤드 구성을 변경해서 data node 재부팅샤드 맞춤 _cluster/reroute테스트19:00 이후 Auto test 실행 Shard 구성 AS-IS: 6서버 1노드 1샤드 (primary 3, replica 1) 각 데이터 노드별로 1개의 샤드 구성 - 운영과 동일한 구조TO-BE: 6서버 1노드 1샤드 (primary 3, replica 3) 각 데이터 노드별로 2개의 샤드 구성 TEST2024-08-07 19:00:00 이후 테스트 결과 낮시간대 테스트 cpu 사용률 응답시간

뭐 대충 이런느낌 이랄까트래픽이 왔을때 8core 16Gb 로 띄운 X 6대의 data node prd data copy index 0710 (운영데이터) alias 변경 local api (Local to ES)200건/초중복제거키워드 (10,000 x 2)sleep 0.3초최초 1회 es cache 초기화 후 실행이렇게 테스트 하면 저런 결과가 나온다. 샤드 구성도 맞춰놓고 샤드 구성 변경 reroute api POST _cluster/reroute{ "commands": [ { "move": { "index": "prd-ds-item-20240710", "shard": 1, "from_node": "node-qa-totalsearch-data..

난 샤드 크기와 도큐먼트 사이즈가 알고싶다. kibana 명령어 GET /_cat/shards?v&h=index,shard,prirep,state,docs,store,node 결과

이게 나를 요즘 .. 데이터 노드의 구성은 1서버 1노드 1샤드 primary 3 , replica 1 어느부분이 문제를 일으키는지는 알고 있다. 제거 하고 다시 실행, 하지만 이 로직을 뺄수는 없다.. 문제를 일으키는 로직은 검색결과에서 집계를 통해 필터를 만들어 내는 로직 이 로직을 파보니 query_cache 가 특정샤드에서만 상대적으로 적게 생성이 된다. 집계를 통한 필터 생성이여서 request cache 가 먹혀야 하는 구조였는데 아무튼 마지막 구간에서 엄청나게 안정적인 흐름을 보이는.. 그럼 다시 널뛰는 cpu 로 만들어 놓고 해결방법try 1cpu 는 트래픽이 적을땐 저렇게 하나만 튀는 현상이 없었다. redis cache 를 사용해서 트레픽을 줄여본다. 캐시전략 ..
import asyncioimport aiohttpimport timefrom urllib import parseimport urllib3import matplotlib.pyplot as pltimport numpy as npfrom time import sleepfrom datetime import datetime, timedeltafrom elasticsearch import Elasticsearchimport sslimport os#API cache 사용과 응답속도 확인urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)async def fetch(session, url): try: async with sessio..
import asyncioimport aiohttpimport timefrom urllib import parseimport urllib3import matplotlib.pyplot as pltimport numpy as npfrom time import sleepfrom datetime import datetime, timedeltaurllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)async def fetch(session, url): try: async with session.get(url, ssl=False, timeout=aiohttp.ClientTimeout(total=600)) as response: ..
검색 과정 Elasticsearch 의 검색은 1 Query, 1 Shard, 1 Thread를 바탕으로 이루어짐3개의 노드를 가지고 있다.노드는 샤드를 1개씩 가지고 있다 각각의 노드는 4개의 코어를 가지고 있다4개의 쿼리가 인입된다. 이 경우 검색 쓰레드 풀에 4개의 검색 Thread를 가지고 있게 된다. 단일 쿼리의 유입인 경우 검색 Thread 풀에서 1개의 검색 Thread를 사용하게됨 나머지 3개는 노는 상황언뜻보면 3개가 놀고 있으니 리소스의 낭비같지만 이런경우 4개의 쿼리가 인입될때 Thread를 하나씩 사용하게되어 거의 동시에 종료된다 그럼 아래의 경우를 보자 3개의 노드를 가지고 있다.노드는 샤드를 4개씩 가지고 있다 각각의 노드는 4개의 코어를 가지고 있다4개의 쿼리가 인입된다..
RedisConnectionFactory 를 찾지 못해 에러가 발생했다면 아래와 같이 확인해보자 import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.redis.connection.RedisConnectionFactory;import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;import org.springframework.data.redis.core.RedisTemplate;import org.springframe..