본문 바로가기
728x90
반응형
SMALL

IT279

java with cpulimit & visualvm 으로 확인 기존에 product.jar 모듈 실행시키는 스크립트 (ex. start.sh) nohup java -Xms512m -Xmx1024m -XX:MaxMetaspaceSize=256m -Dlogging.config=/productName/.conf/product_logback.xml -jar /productName/product.jar > /dev/null 2>&1 & cpulimit 처리를 위한 스크립트 추가 nohup java -Xms512m -Xmx1024m -XX:MaxMetaspaceSize=256m -Dlogging.config=/productName/.conf/product_logback.xml -jar /productName/product.jar > /dev/null 2>&1 & new_pid.. 2022. 7. 19.
VisualVM 실행 시 Cannot find java 1.8 or higher etc/visualvm.conf 파일의 visualvm_jdkhome 주석제거하고 java home 을 입력해주면 해결. 2022. 7. 19.
CompletableFuture 를 이용한 Mybatis 쿼리 여러개 동시 수행 {dd} 별로 로그성 테이블이 있고 6월 한달동안의 데이터를 조회해서 보고서용 데이터를 합계 하려고 할 때 1. 일배치를 통해 매일 요약본을 만들고 해당 데이터를 이용하여 하나의 테이블에 insert 한 후 한번에 쿼리할수도 있고 2. 배치수행을 하지 않고 필요할 때만 조회해서 조합할수도 있다. 2번으로 진행해야 할 경우 {dd} 테이블의 데이터를 6월 1일부터 현재날짜까지 반복해서 조회해야 하고 조회한 결과를 collection 에 담아 이후 작업을 진행해야 한다. {dd} 테이블 조회 쿼리 수행이 느린 경우 그리고 이와 같은 상황 (많은 테이블에 select 해야 하는 경우)에서는 각 쿼리 수행을 async 하게 수행하고 결과를 merge 하면 된다. Future, ListenableFuture, C.. 2022. 6. 24.
Elasticsearch Mappings - Nested type Elasticsearch는 기본적으로 동적매핑을 지원하기 때문에 index 에 doc를 추가하면 자동으로 매핑이 생성된다. 하지만 보다 더 디테일하게 작업하기 위해서는 미리 매핑 정보를 설정해 두는 것이 좋다. 개발/테스트를 하다보면 mapping 정보를 추가/수정/삭제 해 보면서 문제를 해결하는 경우가 많다. mapping 정보는 한번 추가하면 수정이 불가능하기 때문에 (다른 index를 만들고 기존 index data를 다시 insert 하고 index name 을 변경하는 방법으로는 가능) 초기 설계가 중요하다. mapping 확인 GET {index_name}/_mapping mapping 정의 PUT {index_name} { "mappings": { "properties": { "logTime.. 2022. 6. 23.
728x90
반응형
LIST