728x90

2022/11 3

Heap 튜닝 정리

Heap 튜닝 정리 개요 최근에 팀내에서 Memory 임계치가 70% 이상을 넘기는 일들이 발생했다. [사진] 지표를 통한 문제 분석 현재 팀내 시스템에는 08 ~ 22 사이에 다수의 일감을 분배해주는 큰 Dispatcher 시스템이 존재한다. 10초당 한번 씩 동작하고 있으며 DB 작업과 Queue 작업을 수반하고 수백~수천건의 객체들을 사용하게 된다. (중복 발행도 가능한 시스템이라 로드가 어느정도 있다.) 그래서 이 구간에서 Object Reference 가 잘 해제되지 않는건가? 라는 의심을 가지고 분석을 시작하게 됬다. 의심되는 부분을 일단 확인하기 위해 로그를 확인해봤는데 Dispatcher 시스템은 새벽시간대에는 동작하지 않는다는 것을 확인했다. 그래서 해당 시스템이 문제를 일으키지 않는다고..

JVM 2022.11.22

우아한 러닝 1주차

이벤트 스토밍 도메인을 빠르게 익히기 위해 하는 과정 도메인 지식의 상향 평준화가 목표, 서로 배우는 것이 중요함. 이벤트 스토밍은 기록 및 관리하려고 하면 안됨. 그냥 워크샵에서 끝내는게 좋음. -> 유지보수 하려고 하는 대상으로 만들지 않아야 함. 준비물 큰 회의실, 종이, 포스트잇 마커펜 실제 문제 해결에 관련된 모든 사람(질문이 있는 사람) -> 해당 도메인 전문가 느낌. 교육이나 회의를 리드하는 사람(진행자) 진행방법 벽에 커다란 종이를 붙여 놓고 포스트잇(도메인 이벤트 중심)을 붙여 나간다 도메인 이벤트 설명은 혼란스러운 탐험의 도메인 이벤트 설명을 참조. 비즈니스 프로세스를 이해하는 데에 초점을 맞춘다. 모든 사람의 생각을 허용하고 존중한다. 혼란스러운 탐험(1단계) 각자 알고 있는 도메인 ..

일일회고 2022.11.09

Kotlin 동시성 프로그래밍

동기식 프로그래밍 초기 컴퓨터의 문제 초기 컴퓨터는 하나의 프로그램만을 실행시키는 역할을 했다. 그래서 초기 시분할 시스템에서는 각 프로세스가 가상적인 폰 노이만 컴퓨터 였다. 폰 노이만 컴퓨터 답게 각각 명령어와 데이터를 저장하는 메모리 공간을 가지고 기계어로 된 명령어를 순차적으로 수행하며, 운영체제가 제공하는 I/O 수단을 통해 외부와 교류했다. 위와 같은 이유로 초기 컴퓨터의 문제점은 다양했다. 하나의 문제를 뽑자면, 외부 입출력과 같은 작업이 지속되면 프로그램이 블락(Block)되어 시간적으로 비효율적일 수 밖에 없었다. 스레드의 등장 위와 같은 문제점을 해결하기 위한 방법론 중 하나로 스레드 가 등장하게 되었다. 스레드는 PC(프로그램 카운터), 스택, 지역 변수등을 가지고, 공유해야 할 변수..

Kotlin 2022.11.07
728x90