profile
애기 개발자

Spring boot docker image로 배포시 타임존 설정 방법

해당 설정 추가\-Duser.timezone=Asia/Seoul 설정 추가

7일 전
·
0개의 댓글

Thread starvation or clock leap detected, Dead Lock, hikari 오류 해결

CPU에 우리 스프링 프로젝트의 Thread들이 올라가서 작업을 하게 되고, 그러다 한 Thread내의 별도 Transaction에서 추가적인 SQL문 실행이 필요해지면서Thread가 Connection을 더 필요로 하는 상황이 생겼다. 우리 스프링 부트 프로젝트에서

2022년 6월 9일
·
0개의 댓글

JPA /save , saveAll 사용시 주의 사항들

한 번에 많은 데이터를 데이터베이스에 저장하려고 할 때 일반적으로 데이터 하나당 insert를 날리는 것보다 값들을 묶어서 batch insert하는 경우가 더 성능이 좋다.그래서 흔히 사용하는 방법이 SaveAll을 사용하는데 해당 함수의 내부를 잘 모르고 사용하면

2022년 6월 9일
·
0개의 댓글
post-thumbnail

키바나 정리

빅데이터 아키텍처에서 시각화는 상당히 중요한 위치를 차지하고 있다. 엘라스틱 서치와 키바나를 결합하면 텍스트 문서부터 로그파일, 메트릭, 전자상거래 트래픽, 기업의 비즈니스 트랜잭션에 이르기까지 다양한 데이터를 탐색하고 조사할 수 있다. 이와같이 잘 사용하기 위해선 엘

2022년 6월 6일
·
0개의 댓글
post-thumbnail

비츠 정리

아파치 httpd 서버 관리는 아주 잘 알고 있지만 엔진 엑스에 대해서는 아직 낯설다면 로그에서 어떤 내용을 찾아서 어떻게 해석해야 할지 막막할 것이다. 리눅스 서버의 정상 동작을 파악하기 위한 메트릭을 알아내기 위해 제법 시간을 들여야 한다. 이 모든 사항을 설정으로

2022년 6월 6일
·
0개의 댓글

JAVA /기본 가비지 컬렉터 튜닝

비록 가비지 컬렉터 알고리즘 마다 힙을 처리하는 방식은 다르지만 기본적인 환경 설정 매개변수는 공유합니다.가비지 컬렉터의 첫번째 기본 튜닝은 애플리케이션 힙 크기 입니다. 이는 힙의 제너레이션의 크기에 영향을 주는 고급 튜닝입니다.대부분의 성능 문제에서 힙크기를 결정하

2022년 6월 3일
·
0개의 댓글

JAVA /가비지 컬렉터 알고리즘 정리/ 가비지 컬렉터 알고리즘 선택

네개중 가장 단순한 알고리즘애플리케이션이 클라이언트 클래스 머신에서 수행되고 있다면 디폴트 컬렉터 입니다.시리얼 컬렉터는 힙을 처리하기 위해 단일 스레드를 사용합니다. 마이너나 풀 가비지컬랙션를 사용한다면 애플리케이션스레드는 모두 중지됩니다.풀 가비지컬랙션가 일어나는

2022년 5월 31일
·
0개의 댓글

JAVA 가비지 컬렉션

가비지 컬랙션이란? 가비지 컬렉션 튜닝은 자바 애플리케이션 성능을 개선하기 위해 할 수 있는 일 중 가장 중요합니다. 현재 JVM에서 사용할 수 있는 주요 가비지 컬렉터는 단일 CPU 머신에서 사용하는 시리얼 컬렉터(serial collector), 처리율 병렬

2022년 5월 31일
·
0개의 댓글

JAVA JIT 컴파일러/ 역최적화 / 티어드 컴파일 레벨

역최적화는 컴파일러가 선생한 컴파일의 일부를 원상태로 되돌리는 것을 의미합니다.이에 대한 영향은 컴파일러가 대상 코드를 다시 컴파일 할 수 있을 때 까지 애플리케이션의 성능은 감소합니다.(그렇게 크지는 않다)역최적화는 코드가 진입 불가와 좀비화일때 발생합니다.코드에 진

2022년 5월 31일
·
0개의 댓글

JAVA JIT 컴파일러 /고급 컴파일러 튜닝 정리

컴파일이 동작하는 방법에 대한 상세 내역의 일부를 다루며 처리 과정에서 영향을 줄 수 있는 부가적인 튜닝을 소개하겠습니다.하지만 이 값을 변경한다고 크게 달라지는 부분은 없습니다.컴파일 임계치에서 메소드가 컴파일 대상이 되면 컴파일 큐에 들어가 대기하게 됩니다.큐는 한

2022년 5월 31일
·
0개의 댓글

자바와 JIT 컴파일러 버전/ 컴파일러 튜닝 법 정리

32-bit 클라이언트 버전32-bit 서버 버전64-bit 서버 버전64-bit 서버 컴파일러는 티어드 컴파일을 지원하기 위해 클라이언트 컴파일도 가지고 있습니다.32bit 운영체제를 가지고 있다면 JVM도 32bit를 사용해야 합니다.64bit 운영체제를 가지고 있

2022년 5월 31일
·
0개의 댓글

JAVA JIT/ 서버와 클라이언트 컴파일러 기본튜닝

JIT 컴파일러는 두가지 형태로 나뉩니다. 사용할 형태는 흔히 애플리케이션이 실행되고 있을때 해야할 컴파일러 튜닝에 따라 결정됩니다.두개의 컴파일러는 클라이언트와 서버로 알려져 있습니다.JVM 개발자 들은 흔히 c1(컴파일러 1, 클라이언트 컴파일러) 와 c2(컴파일러

2022년 5월 31일
·
0개의 댓글

java 핫스팟 컴파일

핫스팟이란 이름은 코드 컴파일에 대한 접근법에서 유래했다고 합니다. 일반적인 프로그램은 전체 코드 중 일부만 자주 실행되며 애플리케이션의 성능은 이 일부가 얼마나 빠르게 실행되는가에 의해 좌우됩니다.이 중요한 영역을 애플리케이션의 핫 스팟 이라고 합니다. 해당 영역의

2022년 5월 31일
·
0개의 댓글

java JIT 컴파일러

JIT (just-in-time,JIT) 컴파일러는 JVM의 핵심입니다. JVM내에서 컴파일러보다 성능에 더 영향을 주는 요소는 없습니다.대부분의 상황에서 티어드 컴파일(tiered compilation)을 사용하기만 해도 튜닝할 필요는 거의 없습니다.CPU는 어셈블리

2022년 5월 31일
·
0개의 댓글

Logstash 란?

이름 그대로 로그를 저장한다라는 의미를 가지고 있다.로그라는 것은 반정형데이터이며 세상의 모든것이 로그가 될 수 있기때문에 로그 형태를 강제할 방법도 없다. 결국 로그를 수집하는 쪽에서 로그형태를 분석하고 시스템에ㅔ서 인식할 수 있도록 로그를 정제하는 작업이 필요하다.

2022년 5월 29일
·
0개의 댓글

Data Source 이해

커넥션을 얻는 방법은 JDBC 드라이버 매니저를 통해 획득하던지 커넥션 풀로 접근하는 두가지 방법이 있다. 전반적인 코드 변경이 일어난다.위 문제를 해결하기위해서 추상화를 해놨는데DaraSource를 통해 커넥션을 획득하는 방법을 추상화 해놓은 인터페이스가 있다.대부분

2022년 5월 29일
·
0개의 댓글

DB 커넥션풀

db가 커넥션을 할때의 과정1\. 애플리케이션 로직이 db드라이버를 통해 커넥션을 조회한다.2\. db드라이버는 db와 tcp/ip 커넥션 연결을 한다.3\. db 드라이버는 id,pw와 기타 부가 정보를 db에 전달한다.4\. db는 id,pw를 통해 내부인증을 완료

2022년 5월 29일
·
0개의 댓글

엘라스틱 서치 - 집계 정리

엘라스틱 서치에서 집계는 데이터를 그룹핑하고 통곗값을 얻는 기능으로 SQL의 GROUP BY와 통계함수를 포함하는 개념집계를 잘 이해할수록 키바나 툴을 더 잘 사용할 수 있다.집계를 위한 특별한 API가 제공되는 것이 아니다. search API의 요청본문에 aggs

2022년 5월 22일
·
0개의 댓글

엘라스틱 서치 검색 정리

쿼리컨텍스트필터 컨텍스트쿼리스트링과 쿼리 dsl의 차이점쿼리컨텍스트: 도큐먼트에서 연관성을 계산해 최대한 비슷한 데이터를 찾아준다.필터 컨텍스트: 찾고자하는 문자열이 정확한지 아닌지 예/아니요만 가지고 찾아준다.엘라스틱 서치에서 쿼리를 사용하는 방법은 쿼리 스트링과 쿼

2022년 5월 22일
·
0개의 댓글

엘라스틱 스택

엘라스틱 서치가 처음 등장했을때는 빅데이터 파이프라인을 구성하는 플랫폼 형태로 될것이라고 예상하기 어려웠을것이다. 엘라스틱 서치가 등장했을무렵 사이트내에서 전문 검색기능을 제공하는 강력한 소프트 웨어의 필요성이 있었고 검색솔루션 서비스는 대부분 구현체를 공개하지 않아서

2022년 5월 12일
·
0개의 댓글